Class: HashMapper::Map

Inherits:
Object
  • Object
show all
Defined in:
lib/hash_mapper.rb

Overview

Contains PathMaps Makes them interact

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path_from, path_to, delegated_mapper = nil) ⇒ Map

Returns a new instance of Map.



72
73
74
# File 'lib/hash_mapper.rb', line 72

def initialize(path_from, path_to, delegated_mapper = nil)
  @path_from, @path_to, @delegated_mapper = path_from, path_to, delegated_mapper
end

Instance Attribute Details

#delegated_mapperObject (readonly)

Returns the value of attribute delegated_mapper.



70
71
72
# File 'lib/hash_mapper.rb', line 70

def delegated_mapper
  @delegated_mapper
end

#path_fromObject (readonly)

Returns the value of attribute path_from.



70
71
72
# File 'lib/hash_mapper.rb', line 70

def path_from
  @path_from
end

#path_toObject (readonly)

Returns the value of attribute path_to.



70
71
72
# File 'lib/hash_mapper.rb', line 70

def path_to
  @path_to
end

Instance Method Details

#process_into(output, input, meth = :normalize) ⇒ Object



76
77
78
79
80
81
82
# File 'lib/hash_mapper.rb', line 76

def process_into(output, input, meth = :normalize)
  path_1, path_2 = (meth == :normalize ? [path_from, path_to] : [path_to, path_from])
  catch :no_value do
    value = get_value_from_input(output, input, path_1, meth)
    add_value_to_hash!(output, path_2, value)
  end
end