Module: Baton::Observer

Includes:
Observable
Included in:
Consumer
Defined in:
lib/baton/observer.rb

Instance Method Summary collapse

Instance Method Details

#notify(message) ⇒ Object

Public: Method that notifies messages to observers.

message - General message

Examples

notify("message")

Returns nothing.



69
70
71
72
# File 'lib/baton/observer.rb', line 69

def notify(message)
  changed
  notify_observers(message)
end

#notify_error(klass, message) ⇒ Object

Public: Method that notifies errors to observers.

klass - Error class
message - Error message

Examples

notify_error(Exception, "Error message")

Returns nothing.



17
18
19
# File 'lib/baton/observer.rb', line 17

def notify_error(klass, message)
  notify_log({type: "error", error_class: klass, error_message: message})
end

#notify_info(message) ⇒ Object

Public: Method that notifies informations to observers.

message - Info message

Examples

notify_info("info message")

Returns nothing.



30
31
32
# File 'lib/baton/observer.rb', line 30

def notify_info(message)
  notify_log({:type => "info", :message => message})
end

#notify_log(attrs) ⇒ Object

Public: Method that merges attributes to be sent as messages and notifies observers.

attrs - A number of attributes represented by an Hash

Examples

notify_log({field_1: "text", :field_2: 123})

Returns nothing.



56
57
58
# File 'lib/baton/observer.rb', line 56

def notify_log(attrs)
  notify(attributes.merge(attrs))
end

#notify_success(message) ⇒ Object

Public: Method that notifies success to observers.

message - Success message

Examples

notify_success("success message")

Returns nothing.



43
44
45
# File 'lib/baton/observer.rb', line 43

def notify_success(message)
  notify_log({:type => "success", :message => message})
end