class Logica::Predicates::PartialApplication
Attributes
first_arguments[R]
predicate[R]
Public Class Methods
new(predicate, first_arguments)
click to toggle source
# File lib/logica/predicates/partial_application.rb, line 6 def initialize(predicate, first_arguments) @predicate = predicate @first_arguments = first_arguments end
Public Instance Methods
arity()
click to toggle source
# File lib/logica/predicates/partial_application.rb, line 15 def arity predicate.arity - first_arguments.size end
name_and_attributes()
click to toggle source
# File lib/logica/predicates/partial_application.rb, line 19 def name_and_attributes "#{predicate.name_and_attributes}(#{first_arguments.join(', ')})" end
satisfied_by?(*arguments)
click to toggle source
# File lib/logica/predicates/partial_application.rb, line 11 def satisfied_by?(*arguments) predicate.satisfied_by?(*(first_arguments + arguments)) end
Private Instance Methods
do_partially_applied_with(more_arguments)
click to toggle source
# File lib/logica/predicates/partial_application.rb, line 25 def do_partially_applied_with(more_arguments) predicate_factory.partial_application(predicate, first_arguments + more_arguments) end