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.



121
122
123
# File 'lib/hash_mapper.rb', line 121

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.



119
120
121
# File 'lib/hash_mapper.rb', line 119

def delegated_mapper
  @delegated_mapper
end

#path_fromObject (readonly)

Returns the value of attribute path_from.



119
120
121
# File 'lib/hash_mapper.rb', line 119

def path_from
  @path_from
end

#path_toObject (readonly)

Returns the value of attribute path_to.



119
120
121
# File 'lib/hash_mapper.rb', line 119

def path_to
  @path_to
end

Instance Method Details

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



125
126
127
128
129
130
131
# File 'lib/hash_mapper.rb', line 125

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