Class: Async::WebDriver::Bridge::Pool::BridgeController

Inherits:
Object
  • Object
show all
Defined in:
lib/async/webdriver/bridge/pool.rb

Defined Under Namespace

Classes: SessionCache

Instance Method Summary collapse

Constructor Details

#initialize(bridge, capabilities: bridge.default_capabilities) ⇒ BridgeController

Returns a new instance of BridgeController.



26
27
28
29
30
# File 'lib/async/webdriver/bridge/pool.rb', line 26

def initialize(bridge, capabilities: bridge.default_capabilities)
	@bridge = bridge
	@capabilities = capabilities
	@pool = Async::Pool::Controller.new(self)
end

Instance Method Details

#acquireObject



91
92
93
94
95
# File 'lib/async/webdriver/bridge/pool.rb', line 91

def acquire
	session_cache = @pool.acquire
	
	return session_cache.acquire
end

#callObject

Constructor for the pool.



87
88
89
# File 'lib/async/webdriver/bridge/pool.rb', line 87

def call
	SessionCache.new(@bridge.start, @capabilities)
end

#closeObject



113
114
115
116
117
118
# File 'lib/async/webdriver/bridge/pool.rb', line 113

def close
	if @pool
		@pool.close
		@pool = nil
	end
end

#release(session) ⇒ Object



97
98
99
100
101
102
103
# File 'lib/async/webdriver/bridge/pool.rb', line 97

def release(session)
	session_cache = session[:cache]
	
	session_cache.release(session)
	
	@pool.release(session_cache)
end

#retire(session) ⇒ Object



105
106
107
108
109
110
111
# File 'lib/async/webdriver/bridge/pool.rb', line 105

def retire(session)
	session_cache = session[:cache]
	
	session_cache.release(session)
	
	@pool.retire(session_cache)
end