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