lib/dry/logic/rule.rb in dry-logic-0.2.3 vs lib/dry/logic/rule.rb in dry-logic-0.3.0

- old
+ new

@@ -5,10 +5,17 @@ attr_reader :predicate attr_reader :options + def self.method_added(meth) + super + if meth == :call + alias_method :[], :call + end + end + def initialize(predicate, options = {}) @predicate = predicate @options = options end @@ -47,10 +54,14 @@ def new(predicate) self.class.new(predicate, options) end def curry(*args) - self.class.new(predicate.curry(*args), options) + if arity > 0 + new(predicate.curry(*args)) + else + self + end end def each? predicate.is_a?(Rule::Each) end