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