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 20411 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 20528 def elements @elements end
Returns the elements attribute.
Flags
Public Instance Methods
Source
# File lib/prism/node.rb, line 20518 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 20433 def accept(visitor) visitor.visit_keyword_hash_node(self) end
See Node.accept.
Source
# File lib/prism/node.rb, line 20440 def child_nodes [*elements] end
See Node.child_nodes.
Also aliased as: deconstruct
Source
# File lib/prism/node.rb, line 20464 def comment_targets [*elements] #: Array[Prism::node | Location] end
See Node.comment_targets.
Source
# File lib/prism/node.rb, line 20457 def compact_child_nodes [*elements] end
Source
# File lib/prism/node.rb, line 20474 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 20448 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.