class TwoWayMapper::Node::Hash

Public Instance Methods

write(source, value) click to toggle source
# File lib/two_way_mapper/node/hash.rb, line 6
def write(source, value)
  rewinded = rewind_forward source, 1

  return unless writable?(rewinded[keys.last], value)

  rewinded[keys.last] = value
end

Private Instance Methods

create_node(obj, key) click to toggle source
# File lib/two_way_mapper/node/hash.rb, line 20
def create_node(obj, key)
  obj[key] = {}
end
next_key(obj, key) click to toggle source
# File lib/two_way_mapper/node/hash.rb, line 24
def next_key(obj, key)
  obj[key]
end
rewind_to?(obj, key) click to toggle source
# File lib/two_way_mapper/node/hash.rb, line 16
def rewind_to?(obj, key)
  obj.is_a?(::Hash) && obj.key?(key)
end