Class: Browserctl::PageProxy
- Inherits:
-
Object
- Object
- Browserctl::PageProxy
- Defined in:
- lib/browserctl/workflow.rb
Instance Attribute Summary collapse
-
#replay_context ⇒ Object
Returns the value of attribute replay_context.
Class Method Summary collapse
-
.delegate_unwrap(method_name, extract: nil) ⇒ Object
Declarative wrapper for ‘unwrap @client.METHOD(@name, …)` one-liners.
Instance Method Summary collapse
- #click(selector = nil, ref: nil) ⇒ Object
- #fill(selector = nil, value = nil, ref: nil) ⇒ Object
- #hover(selector = nil, ref: nil) ⇒ Object
-
#initialize(name, client, replay_context: nil, matcher: nil) ⇒ PageProxy
constructor
A new instance of PageProxy.
- #select(selector = nil, value = nil, ref: nil) ⇒ Object
- #upload(selector = nil, path = nil, ref: nil) ⇒ Object
Constructor Details
#initialize(name, client, replay_context: nil, matcher: nil) ⇒ PageProxy
Returns a new instance of PageProxy.
214 215 216 217 218 219 |
# File 'lib/browserctl/workflow.rb', line 214 def initialize(name, client, replay_context: nil, matcher: nil) @name = name @client = client @replay_context = replay_context @matcher = matcher || Replay::FingerprintMatcher.new end |
Instance Attribute Details
#replay_context ⇒ Object
Returns the value of attribute replay_context.
197 198 199 |
# File 'lib/browserctl/workflow.rb', line 197 def replay_context @replay_context end |
Class Method Details
.delegate_unwrap(method_name, extract: nil) ⇒ Object
Declarative wrapper for ‘unwrap @client.METHOD(@name, …)` one-liners. Forwards positional + keyword args verbatim. Pass `extract:` to return a single key from the client response instead of unwrapping.
202 203 204 205 206 207 208 209 210 211 212 |
# File 'lib/browserctl/workflow.rb', line 202 def self.delegate_unwrap(method_name, extract: nil) if extract define_method(method_name) do |*args, **kwargs| @client.public_send(method_name, @name, *args, **kwargs)[extract] end else define_method(method_name) do |*args, **kwargs| unwrap @client.public_send(method_name, @name, *args, **kwargs) end end end |
Instance Method Details
#click(selector = nil, ref: nil) ⇒ Object
242 243 244 245 246 |
# File 'lib/browserctl/workflow.rb', line 242 def click(selector = nil, ref: nil) with_selector_fallback(:click, selector, ref) do |sel, r| @client.click(@name, sel, ref: r) end end |
#fill(selector = nil, value = nil, ref: nil) ⇒ Object
236 237 238 239 240 |
# File 'lib/browserctl/workflow.rb', line 236 def fill(selector = nil, value = nil, ref: nil) with_selector_fallback(:fill, selector, ref) do |sel, r| @client.fill(@name, sel, value, ref: r) end end |
#hover(selector = nil, ref: nil) ⇒ Object
248 249 250 251 252 |
# File 'lib/browserctl/workflow.rb', line 248 def hover(selector = nil, ref: nil) with_selector_fallback(:hover, selector, ref) do |sel, r| @client.hover(@name, sel, ref: r) end end |
#select(selector = nil, value = nil, ref: nil) ⇒ Object
260 261 262 263 264 |
# File 'lib/browserctl/workflow.rb', line 260 def select(selector = nil, value = nil, ref: nil) with_selector_fallback(:select, selector, ref) do |sel, r| @client.select(@name, sel, value, ref: r) end end |
#upload(selector = nil, path = nil, ref: nil) ⇒ Object
254 255 256 257 258 |
# File 'lib/browserctl/workflow.rb', line 254 def upload(selector = nil, path = nil, ref: nil) with_selector_fallback(:upload, selector, ref) do |sel, r| @client.upload(@name, sel, path, ref: r) end end |