Class: BiDiGenerate::Command Private
- Inherits:
-
Struct
- Object
- Struct
- BiDiGenerate::Command
- Defined in:
- lib/selenium/webdriver/bidi/support/bidi_generate.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
params_class is the Parameters class the named args construct (nil for a no-arg
command); union_params picks its variant via .build rather than .new. result_ref
is the Protocol-relative result class path, or nil to return the raw hash.
Instance Attribute Summary collapse
-
#method_name ⇒ Object
Returns the value of attribute method_name.
-
#params ⇒ Object
Returns the value of attribute params.
-
#params_class ⇒ Object
Returns the value of attribute params_class.
-
#result_ref ⇒ Object
Returns the value of attribute result_ref.
-
#union_params ⇒ Object
Returns the value of attribute union_params.
-
#wire_name ⇒ Object
Returns the value of attribute wire_name.
Instance Method Summary collapse
-
#def_header(indent) ⇒ Object
private
def nameordef name(...)— wrapped one argument per line when the signature would exceed the line limit. - #enum_checks(indent) ⇒ Object private
-
#execute_call(indent) ⇒ Object
private
@transport.execute(cmd:[, params: params][, result:]). - #optional_params ⇒ Object private
-
#params_assignment(indent) ⇒ Object
private
The
params = …line built before the execute call, or nil for a no-arg command. - #rbs_params ⇒ Object private
- #rbs_return ⇒ Object private
-
#rbs_signature ⇒ Object
private
The RBS method signature
(params) -> return— the return is the typed result class when the command parses one, elseuntyped. - #required_params ⇒ Object private
Instance Attribute Details
#method_name ⇒ Object
Returns the value of attribute method_name
174 175 176 |
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 174 def method_name @method_name end |
#params ⇒ Object
Returns the value of attribute params
174 175 176 |
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 174 def params @params end |
#params_class ⇒ Object
Returns the value of attribute params_class
174 175 176 |
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 174 def params_class @params_class end |
#result_ref ⇒ Object
Returns the value of attribute result_ref
174 175 176 |
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 174 def result_ref @result_ref end |
#union_params ⇒ Object
Returns the value of attribute union_params
174 175 176 |
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 174 def union_params @union_params end |
#wire_name ⇒ Object
Returns the value of attribute wire_name
174 175 176 |
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 174 def wire_name @wire_name end |
Instance Method Details
#def_header(indent) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
def name or def name(...) — wrapped one argument per line when the signature
would exceed the line limit.
182 183 184 185 186 187 |
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 182 def def_header(indent) return "def #{method_name}" if params.empty? BiDiGenerate.wrap_call("def #{method_name}", required_params.map(&:sig_part) + optional_params.map(&:sig_part), indent) end |
#enum_checks(indent) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
178 |
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 178 def enum_checks(indent) = params.filter_map { |p| p.enum_check(indent) } |
#execute_call(indent) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
@transport.execute(cmd:[, params: params][, result:]). The result type is
referenced directly (resolved lazily in the method body, and unambiguous within
Protocol). Params, when present, are the params local built above.
217 218 219 220 221 222 |
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 217 def execute_call(indent) args = ["cmd: '#{wire_name}'"] args << 'params: params' unless params.empty? args << "result: #{result_ref}" if result_ref BiDiGenerate.wrap_call('execute', args, indent) end |
#optional_params ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
177 |
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 177 def optional_params = params.reject(&:required) |
#params_assignment(indent) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
The params = … line built before the execute call, or nil for a no-arg command. A
record builds its Parameters object and a union dispatches via .build (whose typed
as_json emits explicit null where a flat hash through Transport could not). Wrapped
one entry per line when long, so it (and the short execute call) stay within the limit.
207 208 209 210 211 212 |
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 207 def params_assignment(indent) return nil if params.empty? kwargs = params.map { |p| "#{p.ruby_name}: #{p.ruby_name}" } BiDiGenerate.wrap_call("params = #{params_class}.#{union_params ? 'build' : 'new'}", kwargs, indent) end |
#rbs_params ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
195 196 197 |
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 195 def rbs_params (required_params.map(&:rbs_part) + optional_params.map(&:rbs_part)).join(', ') end |
#rbs_return ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
199 200 201 |
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 199 def rbs_return result_ref ? "::Selenium::WebDriver::BiDi::Protocol::#{result_ref}" : 'untyped' end |
#rbs_signature ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
The RBS method signature (params) -> return — the return is the typed result class
when the command parses one, else untyped.
191 192 193 |
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 191 def rbs_signature "(#{rbs_params}) -> #{rbs_return}" end |
#required_params ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
176 |
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 176 def required_params = params.select(&:required) |