The attached example from your documentation generates the following when using ruby 2.7.1:
.../gems/porolog-1.0.1/lib/porolog/predicate.rb:88: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
.../.gems/gems/porolog-1.0.1/lib/porolog/predicate.rb:74: warning: The called method 'initialize' is defined here
The attached example from your documentation generates the following when using ruby 2.7.1:
.../gems/porolog-1.0.1/lib/porolog/predicate.rb:88: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
.../.gems/gems/porolog-1.0.1/lib/porolog/predicate.rb:74: warning: The called method 'initialize' is defined here
Both these messages occur at the following line in the attachment:
builtin :gtr, :is, :noteq, :between, class_base: self
Changing the signature of
Porolog::Predicate.new
fromdef self.new(*args)
to
def self.new(*args, **)
fixes both these issues.
-- sw
example4.txt