Class: Solargraph::Convention::DataDefinition::DataAssignmentNode
- Inherits:
-
DataDefintionNode
- Object
- DataDefintionNode
- Solargraph::Convention::DataDefinition::DataAssignmentNode
- Defined in:
- lib/solargraph/convention/data_definition/data_assignment_node.rb
Overview
A node wrapper for a Data definition via const assignment.
Class Method Summary collapse
-
.match?(node) ⇒ Boolean
s(:casgn, nil, :Foo, s(:block, s(:send, s(:const, nil, :Data), :define, s(:sym, :bar), s(:sym, :baz)), s(:args), s(:def, :foo, s(:args), s(:send, nil, :bar)))).
Instance Method Summary collapse
Methods inherited from DataDefintionNode
#attributes, #body_node, #initialize
Constructor Details
This class inherits a constructor from Solargraph::Convention::DataDefinition::DataDefintionNode
Class Method Details
.match?(node) ⇒ Boolean
s(:casgn, nil, :Foo,
s(:block,
s(:send,
s(:const, nil, :Data), :define,
s(:sym, :bar),
s(:sym, :baz)),
s(:args),
s(:def, :foo,
s(:args),
s(:send, nil, :bar))))
26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/solargraph/convention/data_definition/data_assignment_node.rb', line 26 def match?(node) return false unless node&.type == :casgn return false if node.children[2].nil? data_node = if node.children[2].type == :block node.children[2].children[0] else node.children[2] end data_definition_node?(data_node) end |
Instance Method Details
#class_name ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/solargraph/convention/data_definition/data_assignment_node.rb', line 40 def class_name if node.children[0] Parser::NodeMethods.unpack_name(node.children[0]) + "::#{node.children[1]}" else node.children[1].to_s end end |