Class: BiDiGenerate::FieldIR Private

Inherits:
Struct
  • Object
show all
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.

ref is the Protocol-relative class path for a nested structured field (nil for a scalar/opaque field); list wraps it in an array. wire_key is the exact JSON payload key (the schema's wire name, baked verbatim).

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#enumObject

Returns the value of attribute enum

Returns:

  • (Object)

    the current value of enum



238
239
240
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 238

def enum
  @enum
end

#listObject

Returns the value of attribute list

Returns:

  • (Object)

    the current value of list



238
239
240
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 238

def list
  @list
end

#nullableObject

Returns the value of attribute nullable

Returns:

  • (Object)

    the current value of nullable



238
239
240
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 238

def nullable
  @nullable
end

#primitiveObject

Returns the value of attribute primitive

Returns:

  • (Object)

    the current value of primitive



238
239
240
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 238

def primitive
  @primitive
end

#rbsObject

Returns the value of attribute rbs

Returns:

  • (Object)

    the current value of rbs



238
239
240
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 238

def rbs
  @rbs
end

#refObject

Returns the value of attribute ref

Returns:

  • (Object)

    the current value of ref



238
239
240
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 238

def ref
  @ref
end

#requiredObject

Returns the value of attribute required

Returns:

  • (Object)

    the current value of required



238
239
240
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 238

def required
  @required
end

#ruby_nameObject

Returns the value of attribute ruby_name

Returns:

  • (Object)

    the current value of ruby_name



238
239
240
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 238

def ruby_name
  @ruby_name
end

#wire_keyObject

Returns the value of attribute wire_key

Returns:

  • (Object)

    the current value of wire_key



238
239
240
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 238

def wire_key
  @wire_key
end

Instance Method Details

#rbs_argObject

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 self.new keyword for this field — a user-supplied input carrying the field's value type. The ? prefix marks the field omittable; its value type already carries the schema's nullability, so nil is admitted only for a nullable field.



260
261
262
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 260

def rbs_arg
  required ? "#{ruby_name}: #{rbs}" : "?#{ruby_name}: #{rbs}"
end

#rbs_readerObject

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 attr_reader type. A present value is rbs; an omitted optional reads back the UNSET sentinel, which a value type can't capture, so optionals stay untyped.



266
267
268
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 266

def rbs_reader
  "#{ruby_name}: #{required ? rbs : 'untyped'}"
end

#spec_entry(indent = 0) ⇒ 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.

A Serialization::Record.define spec entry: name: 'jsonKey' shorthand, or name: {wire_key:, …} when the field carries JSON facts beyond its name. enum carries the allowed-values constant path, validated at construction.



243
244
245
246
247
248
249
250
251
252
253
254
255
# File 'lib/selenium/webdriver/bidi/support/bidi_generate.rb', line 243

def spec_entry(indent = 0)
  meta = []
  meta << 'required: false' unless required
  meta << 'nullable: true' if nullable
  meta << "ref: '#{ref}'" if ref
  meta << 'list: true' if list
  meta << "enum: '#{enum}'" if enum
  meta << "primitive: '#{primitive}'" if primitive
  return "#{ruby_name}: '#{wire_key}'" if meta.empty?

  meta.unshift("wire_key: '#{wire_key}'")
  BiDiGenerate.wrap_call("#{ruby_name}: ", meta, indent, open: '{', close: '}')
end