class Snuffle::Element::Hash
Attributes
node[RW]
Public Class Methods
materialize(nodes=[])
click to toggle source
# File lib/snuffle/elements/hash.rb, line 9 def self.materialize(nodes=[]) nodes.each.map{|hash_node| new(hash_node) }.select{|h| h.pairs.present?} end
new(node)
click to toggle source
# File lib/snuffle/elements/hash.rb, line 13 def initialize(node) self.node = node end
Public Instance Methods
inspect()
click to toggle source
# File lib/snuffle/elements/hash.rb, line 29 def inspect pairs end
keys()
click to toggle source
# File lib/snuffle/elements/hash.rb, line 21 def keys node.children.map{ |child| child.children.first && child.children.first.name } end
pairs()
click to toggle source
# File lib/snuffle/elements/hash.rb, line 17 def pairs @pairs ||= keys.zip(values).inject({}){|hash, pair| hash[pair[0]] = pair[1]; hash} end
values()
click to toggle source
# File lib/snuffle/elements/hash.rb, line 25 def values node.children.map{ |child| child.children.last && child.children.last.name }.map(&:to_s).sort end