class Prism::KeywordHashNode
Represents a hash literal without opening and closing braces.
foo(a: b)
^^^^
Public Class Methods
Source
# File lib/prism/node.rb, line 15436 def initialize(source, node_id, location, flags, elements) @source = source @node_id = node_id @location = location @flags = flags @elements = elements end
Initialize a new KeywordHashNode node.
Public Instance Methods
Source
# File lib/prism/node.rb, line 15522 def elements @elements end
Returns the elements attribute.
Flags
Public Instance Methods
Source
# File lib/prism/node.rb, line 15514 def symbol_keys? flags.anybits?(KeywordHashNodeFlags::SYMBOL_KEYS) end
a keyword hash which only has AssocNode elements all with symbol keys, which means the elements can be treated as keyword arguments
Node Interface
Public Class Methods
Public Instance Methods
Source
# File lib/prism/node.rb, line 15456 def accept(visitor) visitor.visit_keyword_hash_node(self) end
See Node.accept.
Source
# File lib/prism/node.rb, line 15461 def child_nodes [*elements] end
See Node.child_nodes.
Also aliased as: deconstruct
Source
# File lib/prism/node.rb, line 15478 def comment_targets [*elements] #: Array[Prism::node | Location] end
See Node.comment_targets.
Source
# File lib/prism/node.rb, line 15473 def compact_child_nodes [*elements] end
Source
# File lib/prism/node.rb, line 15486 def copy(node_id: self.node_id, location: self.location, flags: self.flags, elements: self.elements) KeywordHashNode.new(source, node_id, location, flags, elements) end
Creates a copy of self with the given fields, using self as the template.
Source
# File lib/prism/node.rb, line 15466 def each_child_node return to_enum(:each_child_node) unless block_given? elements.each { |node| yield node } end
See Node.each_child_node.