Class: Remap::Rule::Embed

Inherits:
Value
  • Object
show all
Defined in:
lib/remap/rule/embed.rb

Instance Method Summary collapse

Instance Method Details

#call(state) ⇒ State

Evaluates input against mapper and returns the result

Examples:

Embed Mapper A into B

class Car < Remap::Base
  define do
    map :name, to: :model
  end
end

class Person < Remap::Base
  define do
    to :person do
      to :car do
        embed Car
      end
    end
  end
end

Person.call(name: "Volvo") # => { person: { car: { name: "Volvo" } } }

Parameters:

Returns:



35
36
37
38
39
# File 'lib/remap/rule/embed.rb', line 35

def call(state)
  mapper.call!(state.set(mapper: mapper)) do |error|
    return state.problem(error)
  end
end