Class: PersistentTrigger

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/persistent_trigger.rb

Constant Summary collapse

TYPES =
[:on, :every].freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.load_allObject



28
29
30
# File 'app/models/persistent_trigger.rb', line 28

def self.load_all
  all.find_each(&:register!)
end

Instance Method Details

#register!Object



38
39
40
41
# File 'app/models/persistent_trigger.rb', line 38

def register!
  trigger = Houston.config.triggers.build(type, value, action, params.merge(trigger: self), persistent_trigger_id: id)
  Houston.config.triggers.push(trigger) unless Houston.config.triggers.member?(trigger)
end

#typeObject



33
34
35
# File 'app/models/persistent_trigger.rb', line 33

def type
  super && super.to_sym
end

#unregister!Object



43
44
45
46
# File 'app/models/persistent_trigger.rb', line 43

def unregister!
  trigger = Houston.config.triggers.detect { |trigger| trigger.persistent_trigger_id == id }
  Houston.config.triggers.delete(trigger) if trigger
end