Class: Notifiable::App
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Notifiable::App
- Defined in:
- lib/notifiable/app.rb
Class Method Summary collapse
Instance Method Summary collapse
- #configuration ⇒ Object
- #configure(provider, notifier) ⇒ Object
- #default_configuration ⇒ Object
- #save_notification_statuses ⇒ Object
- #save_notification_statuses=(save_notification_statuses) ⇒ Object
Class Method Details
.define_configuration_accessors(notifiers) ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/notifiable/app.rb', line 35 def self.define_configuration_accessors(notifiers) notifiers.each_pair do |provider, clazz| next unless clazz.notifier_attributes clazz.notifier_attributes.each do |attribute| define_method("#{provider}_#{attribute}="){ |v| configuration[provider][attribute] = v } define_method("#{provider}_#{attribute}"){ configuration[provider][attribute] } end end end |
Instance Method Details
#configuration ⇒ Object
16 17 18 19 20 21 |
# File 'lib/notifiable/app.rb', line 16 def configuration unless read_attribute(:configuration) write_attribute(:configuration, default_configuration) end read_attribute(:configuration) end |
#configure(provider, notifier) ⇒ Object
10 11 12 13 14 |
# File 'lib/notifiable/app.rb', line 10 def configure(provider, notifier) return unless self.configuration && self.configuration[provider] self.configuration[provider].each_pair {|key, value| notifier.instance_variable_set("@#{key}", value) if notifier.class.notifier_attributes.include?(key) } end |
#default_configuration ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/notifiable/app.rb', line 23 def default_configuration configuration = {} Notifiable.notifier_classes.each_pair do |provider,clazz| configuration[provider] = {} next unless clazz.notifier_attributes clazz.notifier_attributes.each do |notifier_attribute| configuration[provider][notifier_attribute] = nil end end configuration end |
#save_notification_statuses ⇒ Object
46 47 48 |
# File 'lib/notifiable/app.rb', line 46 def save_notification_statuses self.configuration[:save_notification_statuses] == true || self.configuration[:save_notification_statuses].eql?("1") end |
#save_notification_statuses=(save_notification_statuses) ⇒ Object
50 51 52 |
# File 'lib/notifiable/app.rb', line 50 def save_notification_statuses=(save_notification_statuses) self.configuration[:save_notification_statuses] = save_notification_statuses end |