class Crabfarm::CrabtrapContext

Attributes

mode[RW]

Public Class Methods

new(_mode=:pass, _path=nil) click to toggle source
# File lib/crabfarm/crabtrap_context.rb, line 7
def initialize(_mode=:pass, _path=nil)
  @mode = _mode
  @path = _path
end

Public Instance Methods

capture(_path) click to toggle source
# File lib/crabfarm/crabtrap_context.rb, line 20
def capture(_path)
  @mode = :capture
  @path = _path
  restart
end
pass_through() click to toggle source
# File lib/crabfarm/crabtrap_context.rb, line 12
def pass_through
  if not loaded? or @mode != :pass
    @mode = :pass
    @path = nil
    restart
  end
end
replay(_path) click to toggle source
# File lib/crabfarm/crabtrap_context.rb, line 26
def replay(_path)
  @mode = :replay
  @path = _path
  restart
end
restart() click to toggle source
# File lib/crabfarm/crabtrap_context.rb, line 32
def restart
  if not loaded?
    prepare
  else
    stop_daemon
    start_daemon
  end
end

Private Instance Methods

load_services() click to toggle source
Calls superclass method Crabfarm::Context#load_services
# File lib/crabfarm/crabtrap_context.rb, line 43
def load_services
  @port = Utils::PortDiscovery.find_available_port
  start_daemon
  super
end
proxy() click to toggle source
# File lib/crabfarm/crabtrap_context.rb, line 79
def proxy
  proxy_address
end
proxy_address() click to toggle source
# File lib/crabfarm/crabtrap_context.rb, line 87
def proxy_address
  "127.0.0.1:#{@port}"
end
proxy_auth() click to toggle source
# File lib/crabfarm/crabtrap_context.rb, line 83
def proxy_auth
  nil
end
reset_services() click to toggle source
# File lib/crabfarm/crabtrap_context.rb, line 49
def reset_services
  restart
end
start_daemon() click to toggle source
# File lib/crabfarm/crabtrap_context.rb, line 59
def start_daemon
  if @runner.nil?
    options = {
      mode: @mode,
      bucket_path: @path,
      port: @port
    }

    @runner = CrabtrapRunner.new config.crabtrap_config.merge(options)
    @runner.start
  end
end
stop_daemon() click to toggle source
# File lib/crabfarm/crabtrap_context.rb, line 72
def stop_daemon
  unless @runner.nil?
    @runner.kill
    @runner = nil
  else nil end
end
unload_services() click to toggle source
Calls superclass method Crabfarm::Context#unload_services
# File lib/crabfarm/crabtrap_context.rb, line 53
def unload_services
  super
  stop_daemon
  @port = nil
end