Class: Batsir::Notifiers::Notifier
- Inherits:
-
Object
- Object
- Batsir::Notifiers::Notifier
show all
- Defined in:
- lib/batsir/notifiers/notifier.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(options = {}) ⇒ Notifier
Returns a new instance of Notifier.
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/batsir/notifiers/notifier.rb', line 7
def initialize(options = {})
fields = options.delete(:fields)
options.each do |option, value|
self.send("#{option}=", value)
end
@transformer_queue = []
if fields
add_transformer(Batsir::Transformers::FieldTransformer.new(:fields => fields))
end
end
|
Instance Attribute Details
#field_mapping ⇒ Object
Returns the value of attribute field_mapping.
4
5
6
|
# File 'lib/batsir/notifiers/notifier.rb', line 4
def field_mapping
@field_mapping
end
|
Returns the value of attribute transformer_queue.
5
6
7
|
# File 'lib/batsir/notifiers/notifier.rb', line 5
def transformer_queue
@transformer_queue
end
|
Instance Method Details
19
20
21
|
# File 'lib/batsir/notifiers/notifier.rb', line 19
def add_transformer(transformer)
@transformer_queue << transformer
end
|
#execute(message) ⇒ Object
35
36
37
|
# File 'lib/batsir/notifiers/notifier.rb', line 35
def execute(message)
raise NotImplementedError.new
end
|
#notify(message) ⇒ Object
23
24
25
26
|
# File 'lib/batsir/notifiers/notifier.rb', line 23
def notify(message)
execute(transform(message.clone))
message
end
|
28
29
30
31
32
33
|
# File 'lib/batsir/notifiers/notifier.rb', line 28
def transform(message)
transformer_queue.each do |transformer|
message = transformer.transform(message)
end
message
end
|