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 19185 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 19294 def elements @elements end
Returns the elements attribute.
Flags
Public Instance Methods
Source
# File lib/prism/node.rb, line 19284 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
These methods are present on all subclasses of Node. Read the node interface docs for more information.
Public Class Methods
Public Instance Methods
Source
# File lib/prism/node.rb, line 19207 def accept(visitor) visitor.visit_keyword_hash_node(self) end
See Node.accept.
Source
# File lib/prism/node.rb, line 19214 def child_nodes [*elements] end
See Node.child_nodes.
Also aliased as: deconstruct
Source
# File lib/prism/node.rb, line 19238 def comment_targets [*elements] #: Array[Prism::node | Location] end
See Node.comment_targets.
Source
# File lib/prism/node.rb, line 19231 def compact_child_nodes [*elements] end
Source
# File lib/prism/node.rb, line 19248 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 19222 def each_child_node(&blk) return to_enum(:each_child_node) unless block_given? elements.each { |node| yield node } end
See Node.each_child_node.
Repository
Methods related to Relocation.