lib/rubanok/dsl/mapping.rb in rubanok-0.3.0 vs lib/rubanok/dsl/mapping.rb in rubanok-0.4.0
- old
+ new
@@ -19,22 +19,22 @@
"#{METHOD_PREFIX}#{super}"
end
end
module ClassMethods
- def map(*fields, **options, &block)
- filter = options[:filter_with]
+ def map(*fields, activate_on: fields, activate_always: false, ignore_empty_values: Rubanok.ignore_empty_values, filter_with: nil, &block)
+ filter = filter_with
if filter.is_a?(Symbol)
respond_to?(filter) || raise(
ArgumentError,
"Unknown class method #{filter} for #{self}. " \
"Make sure that a filter method is defined before the call to .map."
)
- options[:filter_with] = method(filter)
+ filter = method(filter)
end
- rule = Rule.new(fields, **options)
+ rule = Rule.new(fields, activate_on: activate_on, activate_always: activate_always, ignore_empty_values: ignore_empty_values, filter_with: filter)
define_method(rule.to_method_name, &block)
add_rule rule
end