module Dozer::Mapperable::ClassMethods

Public Instance Methods

mapping(options) click to toggle source
# File lib/dozer/mapperable.rb, line 16
def mapping(options)
  append_rule(Dozer::Rule.new(options))
end
transform(input) click to toggle source
# File lib/dozer/mapperable.rb, line 20
def transform(input)
  instance = self.new(input)
  all_rules.each { |rule| rule.apply!(instance) }
  instance.output
end

Private Instance Methods

all_rules() click to toggle source
# File lib/dozer/mapperable.rb, line 37
        def all_rules
  @__all_rules ||= []
end
append_rule(new_rule) click to toggle source
# File lib/dozer/mapperable.rb, line 28
def append_rule(new_rule)
  if all_rules.any? {|r| r.to == new_rule.to}
    raise ArgumentError, "to: :#{new_rule.to} has been declared."
  end

  all_rules << new_rule
end