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