Class: RBI::TStructProp
- Inherits:
-
TStructField
- Object
- Node
- NodeWithComments
- TStructField
- RBI::TStructProp
- Includes:
- Indexable
- Defined in:
- lib/rbi/index.rb,
lib/rbi/model.rb,
lib/rbi/rewriters/merge_trees.rb
Instance Attribute Summary
Attributes inherited from TStructField
Attributes inherited from NodeWithComments
Attributes inherited from Node
Instance Method Summary collapse
-
#compatible_with?(other) ⇒ Boolean
: (Node other) -> bool.
-
#fully_qualified_names ⇒ Object
: -> Array.
-
#index_ids ⇒ Object
: -> Array.
-
#initialize(name, type, default: nil, loc: nil, comments: nil, &block) ⇒ TStructProp
constructor
: ( | String name, | (Type | String) type, | ?default: String?, | ?loc: Loc?, | ?comments: Array? | ) ?{ (TStructProp node) -> void } -> void.
-
#to_s ⇒ Object
: -> String.
Methods inherited from NodeWithComments
#annotations, #comments?, #merge_with, #version_requirements
Methods inherited from Node
#detach, #merge_with, #parent_conflict_tree, #parent_scope, #print, #rbs_print, #rbs_string, #replace, #satisfies_version?, #string
Constructor Details
#initialize(name, type, default: nil, loc: nil, comments: nil, &block) ⇒ TStructProp
: ( | String name, | (Type | String) type, | ?default: String?, | ?loc: Loc?, | ?comments: Array? | ) ?{ (TStructProp node) -> void } -> void
1113 1114 1115 1116 |
# File 'lib/rbi/model.rb', line 1113 def initialize(name, type, default: nil, loc: nil, comments: nil, &block) super(name, type, default: default, loc: loc, comments: comments) block&.call(self) end |
Instance Method Details
#compatible_with?(other) ⇒ Boolean
: (Node other) -> bool
572 573 574 |
# File 'lib/rbi/rewriters/merge_trees.rb', line 572 def compatible_with?(other) other.is_a?(TStructProp) && super end |
#fully_qualified_names ⇒ Object
: -> Array
1120 1121 1122 1123 |
# File 'lib/rbi/model.rb', line 1120 def fully_qualified_names parent_name = parent_scope&.fully_qualified_name ["#{parent_name}##{name}", "#{parent_name}##{name}="] end |
#index_ids ⇒ Object
: -> Array
204 205 206 |
# File 'lib/rbi/index.rb', line 204 def index_ids fully_qualified_names end |
#to_s ⇒ Object
: -> String
1127 1128 1129 |
# File 'lib/rbi/model.rb', line 1127 def to_s "#{parent_scope&.fully_qualified_name}.prop(:#{name})" end |