class Tensai::Logic::Predicate
Public Instance Methods
accepts?(values)
click to toggle source
# File lib/tensai/logic/predicate.rb, line 25 def accepts?(values) Set.new(values.keys) == variable_names && variables.all? { |v| v.accepts? values[v.name] } end
after_initialize()
click to toggle source
# File lib/tensai/logic/predicate.rb, line 21 def after_initialize raise ArgumentError, 'All variable names must be unique' if variable_names.size < variables.size end
inspect()
click to toggle source
# File lib/tensai/logic/predicate.rb, line 30 def inspect "(#{name} #{variables.map(&:inspect).join(' ')})" end
Private Instance Methods
variable_names()
click to toggle source
# File lib/tensai/logic/predicate.rb, line 36 def variable_names @variable_names ||= Set.new(variables.map(&:name)) end