class JsonInspector::Stack
Attributes
doc[R]
Public Class Methods
new(doc)
click to toggle source
# File lib/json_inspector/stack.rb, line 5 def initialize(doc) @doc = doc @keys = [] @doc.extend(Hashie::Extensions::DeepFind) @doc.extend(Hashie::Extensions::DeepFetch) end
Public Instance Methods
clear!()
click to toggle source
# File lib/json_inspector/stack.rb, line 25 def clear! @keys = [] end
current(keys = '')
click to toggle source
# File lib/json_inspector/stack.rb, line 29 def current(keys = '') keys = @keys + keys.split(?.) @doc.deep_fetch(*keys) { nil } end
path()
click to toggle source
# File lib/json_inspector/stack.rb, line 21 def path @keys.join(?.) end
pop()
click to toggle source
# File lib/json_inspector/stack.rb, line 17 def pop @keys.pop end
push(keys)
click to toggle source
# File lib/json_inspector/stack.rb, line 12 def push(keys) keys = keys.split(?.) @keys += keys end