Class: JSONP3::SymbolNameSelector
- Inherits:
-
NameSelector
- Object
- Selector
- NameSelector
- JSONP3::SymbolNameSelector
- Defined in:
- lib/json_p3/selector.rb
Overview
This non-standard name selector selects values from hashes given a string or symbol key.
Instance Attribute Summary
Attributes inherited from NameSelector
Attributes inherited from Selector
Instance Method Summary collapse
-
#initialize(env, token, name) ⇒ SymbolNameSelector
constructor
A new instance of SymbolNameSelector.
- #resolve(node) ⇒ Object
Methods inherited from NameSelector
#==, #hash, #singular?, #to_s
Methods inherited from Selector
Constructor Details
#initialize(env, token, name) ⇒ SymbolNameSelector
Returns a new instance of SymbolNameSelector.
68 69 70 71 |
# File 'lib/json_p3/selector.rb', line 68 def initialize(env, token, name) super @sym = @name.to_sym end |
Instance Method Details
#resolve(node) ⇒ Object
73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/json_p3/selector.rb', line 73 def resolve(node) if node.value.is_a?(Hash) if node.value.key?(@name) [node.new_child(node.value[@name], @name)] elsif node.value.key?(@sym) [node.new_child(node.value[@sym], @name)] else [] end else [] end end |