Class: ListenerOption

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

Constant Summary collapse

DEFAULT_DELAY =
0
DEFAULT_ENABLED =
true

Class Method Summary collapse

Class Method Details

.listener_class_listObject



8
9
10
# File 'app/models/listener_option.rb', line 8

def listener_class_list
  @listener_class_list ||= ::EventsManager.all_listeners
end

.listener_class_optionsObject



12
13
14
# File 'app/models/listener_option.rb', line 12

def listener_class_options
  listener_class_list.sort.map { |v| [v, v] }
end

.listener_delay(listener_class) ⇒ Object



16
17
18
19
# File 'app/models/listener_option.rb', line 16

def listener_delay(listener_class)
  o = ::ListenerOption.find_by(listener_class: listener_class.to_s)
  o && o.delay.present? && o.delay >= 0 ? o.delay : DEFAULT_DELAY
end

.listener_enable(listener_class, enabled) ⇒ Object



26
27
28
29
30
# File 'app/models/listener_option.rb', line 26

def listener_enable(listener_class, enabled)
  o = ::ListenerOption.find_or_create_by(listener_class: listener_class.to_s)
  o.enabled = enabled
  o.save!
end

.listener_enabled?(listener_class) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
24
# File 'app/models/listener_option.rb', line 21

def listener_enabled?(listener_class)
  o = ::ListenerOption.find_by(listener_class: listener_class.to_s)
  o.present? ? o.enabled? : DEFAULT_ENABLED
end