class SyntaxTree::BareAssocHash
BareAssocHash
represents a hash of contents being passed as a method argument (and therefore has omitted braces). It’s very similar to an AssocListFromArgs node.
method(key1: value1, key2: value2)
Attributes
assocs[R]
- Array[
Assoc
|AssocSplat
]
Public Class Methods
new(assocs:, location:)
click to toggle source
# File lib/syntax_tree/node.rb, line 1841 def initialize(assocs:, location:) @assocs = assocs @location = location @comments = [] end
Public Instance Methods
===(other)
click to toggle source
# File lib/syntax_tree/node.rb, line 1876 def ===(other) other.is_a?(BareAssocHash) && ArrayMatch.call(assocs, other.assocs) end
accept(visitor)
click to toggle source
# File lib/syntax_tree/node.rb, line 1847 def accept(visitor) visitor.visit_bare_assoc_hash(self) end
child_nodes()
click to toggle source
# File lib/syntax_tree/node.rb, line 1851 def child_nodes assocs end
Also aliased as: deconstruct
copy(assocs: nil, location: nil)
click to toggle source
# File lib/syntax_tree/node.rb, line 1855 def copy(assocs: nil, location: nil) node = BareAssocHash.new( assocs: assocs || self.assocs, location: location || self.location ) node.comments.concat(comments.map(&:copy)) node end
deconstruct_keys(_keys)
click to toggle source
# File lib/syntax_tree/node.rb, line 1868 def deconstruct_keys(_keys) { assocs: assocs, location: location, comments: comments } end
format(q)
click to toggle source
# File lib/syntax_tree/node.rb, line 1872 def format(q) q.seplist(assocs) { |assoc| q.format(assoc) } end
format_key(q, key)
click to toggle source
# File lib/syntax_tree/node.rb, line 1880 def format_key(q, key) @key_formatter ||= case q.parents.take(3).last when Break, Next, ReturnNode HashKeyFormatter::Identity.new else HashKeyFormatter.for(self) end @key_formatter.format_key(q, key) end