Class: Solargraph::Convention::DataDefinition::DataDefintionNode
- Inherits:
-
Object
- Object
- Solargraph::Convention::DataDefinition::DataDefintionNode
- Defined in:
- lib/solargraph/convention/data_definition/data_definition_node.rb
Overview
A node wrapper for a Data definition via inheritance.
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
- #attributes ⇒ Array<Array(Parser::AST::Node, String)>
- #body_node ⇒ Parser::AST::Node
- #class_name ⇒ String
-
#initialize(node) ⇒ DataDefintionNode
constructor
A new instance of DataDefintionNode.
Constructor Details
#initialize(node) ⇒ DataDefintionNode
Returns a new instance of DataDefintionNode.
52 53 54 |
# File 'lib/solargraph/convention/data_definition/data_definition_node.rb', line 52 def initialize(node) @node = node end |
Class Method Details
.match?(node) ⇒ Boolean
30 31 32 33 34 |
# File 'lib/solargraph/convention/data_definition/data_definition_node.rb', line 30 def match?(node) return false unless node&.type == :class data_definition_node?(node.children[1]) end |
Instance Method Details
#attributes ⇒ Array<Array(Parser::AST::Node, String)>
62 63 64 65 66 67 |
# File 'lib/solargraph/convention/data_definition/data_definition_node.rb', line 62 def attributes data_attribute_nodes.map do |data_def_param| next unless data_def_param.type == :sym [data_def_param, data_def_param.children[0].to_s] end.compact end |
#body_node ⇒ Parser::AST::Node
70 71 72 |
# File 'lib/solargraph/convention/data_definition/data_definition_node.rb', line 70 def body_node node.children[2] end |
#class_name ⇒ String
57 58 59 |
# File 'lib/solargraph/convention/data_definition/data_definition_node.rb', line 57 def class_name Parser::NodeMethods.unpack_name(node) end |