Class: BarkestCore::UserAlertGenerators
- Inherits:
-
Object
- Object
- BarkestCore::UserAlertGenerators
- Defined in:
- app/models/barkest_core/user_alert_generators.rb
Overview
A repository for user alert generators.
Register any alert generators that you want to give the user automatically at login.
Class Method Summary collapse
-
.[](type) ⇒ Object
Gets a subset of the generators that have been registered.
-
.all ⇒ Object
Gets all of the generators that have been registered.
-
.each(&block) ⇒ Object
Enumerates all of the generators that have been registered.
-
.register(type = nil, &block) ⇒ Object
Registers an alert generator.
Class Method Details
.[](type) ⇒ Object
Gets a subset of the generators that have been registered.
Provide the type of generators you would like to return.
34 35 36 37 38 |
# File 'app/models/barkest_core/user_alert_generators.rb', line 34 def self.[](type) type ||= :info type = type.to_sym (list[type] || []).freeze end |
.all ⇒ Object
Gets all of the generators that have been registered.
This list does not include the type.
26 27 28 |
# File 'app/models/barkest_core/user_alert_generators.rb', line 26 def self.all list.values.flatten.freeze end |
.each(&block) ⇒ Object
Enumerates all of the generators that have been registered.
Yields the type
and generator
.
13 14 15 16 17 18 19 20 |
# File 'app/models/barkest_core/user_alert_generators.rb', line 13 def self.each(&block) return unless block_given? list.each do |type,generators| generators.each do |generator| yield type, generator end end end |
.register(type = nil, &block) ⇒ Object
Registers an alert generator.
The generator shold be designed to take a User model as an argument.
44 45 46 47 48 49 |
# File 'app/models/barkest_core/user_alert_generators.rb', line 44 def self.register(type = nil, &block) type ||= :info type = type.to_sym list[type] ||= [] list[type] << block end |