Module: ActiveLogic::ActsAsLogic::LocalInstanceMethods

Defined in:
lib/active_logic/acts_as_logic.rb

Instance Method Summary collapse

Instance Method Details

#ask(verb, *arguments) ⇒ Object



32
33
34
# File 'lib/active_logic/acts_as_logic.rb', line 32

def ask(verb, *arguments)
  query(verb, *arguments).count > 0
end

#declare(verb, *arguments) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/active_logic/acts_as_logic.rb', line 18

def declare(verb, *arguments)
  if not items_are_records?(arguments)
    throw 'Arguments should be all records.'
  end

  ActiveLogic.model.find_or_create_by subject: record_to_json(self), verb: verb, arguments: records_to_json(arguments)
end

#undeclare(verb, *arguments) ⇒ Object



26
27
28
29
30
# File 'lib/active_logic/acts_as_logic.rb', line 26

def undeclare(verb, *arguments)
  query(verb, *arguments).each do |declaration|
    declaration.destroy
  end
end