class Rubylog::DSL::Primitives

Public Class Methods

new(subject) click to toggle source
# File lib/rubylog/dsl/primitives.rb, line 3
def initialize subject
  @subject = subject
end

Public Instance Methods

inspect() click to toggle source
# File lib/rubylog/dsl/primitives.rb, line 23
def inspect
  if @subject
    "primitives_for(#{@subject.inspect})"
  end
end
singleton_method_added(name) click to toggle source
# File lib/rubylog/dsl/primitives.rb, line 8
def singleton_method_added name
  unless name == :singleton_method_added
    m = method(name)

    predicate = Rubylog::Primitive.new(name, m)

    # nullary predicate
    if m.arity.zero?
      Rubylog::NullaryPredicates[name] = predicate
    else
      predicate.add_functor_to(@subject)
    end
  end
end