class Crabfarm::Context

Attributes

pool[RW]
store[RW]

Public Class Methods

new() click to toggle source
# File lib/crabfarm/context.rb, line 7
def initialize
  @store = StateStore.new
  @loaded = false
end

Public Instance Methods

loaded?() click to toggle source
# File lib/crabfarm/context.rb, line 12
def loaded?
  @loaded
end
prepare() click to toggle source
# File lib/crabfarm/context.rb, line 16
def prepare
  unless @loaded
    load_services
    @loaded = true
  end
end
release() click to toggle source
# File lib/crabfarm/context.rb, line 27
def release
  unload_services
  @loaded = false
end
reset() click to toggle source
# File lib/crabfarm/context.rb, line 23
def reset
  reset_services if @loaded
end

Private Instance Methods

build_browser_adapter(_proxy, _proxy_auth) click to toggle source
# File lib/crabfarm/context.rb, line 70
def build_browser_adapter(_proxy, _proxy_auth)
  Strategies.load(:browser, config.browser).new(_proxy, _proxy_auth)
end
config() click to toggle source
# File lib/crabfarm/context.rb, line 82
def config
  Crabfarm.config
end
init_browser_adapter() click to toggle source
# File lib/crabfarm/context.rb, line 49
def init_browser_adapter
  if @browser_adapter.nil?
    @browser_adapter = build_browser_adapter proxy, proxy_auth
    @browser_adapter.prepare_driver_services
  end
end
init_driver_pool() click to toggle source
# File lib/crabfarm/context.rb, line 61
def init_driver_pool
  @pool = DriverPool.new @browser_adapter if @pool.nil?
end
load_services() click to toggle source
# File lib/crabfarm/context.rb, line 34
def load_services
  init_browser_adapter
  init_driver_pool
end
proxy() click to toggle source
# File lib/crabfarm/context.rb, line 74
def proxy
  config.proxy
end
proxy_auth() click to toggle source
# File lib/crabfarm/context.rb, line 78
def proxy_auth
  config.proxy_auth
end
release_browser_adapter() click to toggle source
# File lib/crabfarm/context.rb, line 56
def release_browser_adapter
  @browser_adapter.cleanup_driver_services unless @browser_adapter.nil?
  @browser_adapter.nil?
end
release_driver_pool() click to toggle source
# File lib/crabfarm/context.rb, line 65
def release_driver_pool
  @pool.release unless @pool.nil?
  @pool = nil
end
reset_services() click to toggle source
# File lib/crabfarm/context.rb, line 39
def reset_services
  @store.reset
  @pool.reset
end
unload_services() click to toggle source
# File lib/crabfarm/context.rb, line 44
def unload_services
  release_driver_pool
  release_browser_adapter
end