Sha256: 6ac50cbfe6d4b77ae515aa49695211047ed81f5337ec96b805e98d455881c5b7

Contents?: true

Size: 1.57 KB

Versions: 16

Compression:

Stored size: 1.57 KB

Contents

require "observer"

module Baton
  module Observer
    include Observable

    # Public: Method that notifies errors to observers.
    #
    #  klass - Error class
    #  message - Error message
    #
    # Examples
    #
    #   notify_error(Exception, "Error message")
    #
    # Returns nothing.
    def notify_error(klass, message)
      notify_log({type: "error", error_class: klass, error_message: message})
    end

    # Public: Method that notifies informations to observers.
    #
    #  message - Info message
    #
    # Examples
    #
    #   notify_info("info message")
    #
    # Returns nothing.
    def notify_info(message)
      notify_log({:type => "info", :message => message})
    end

    # Public: Method that notifies success to observers.
    #
    #  message - Success message
    #
    # Examples
    #
    #   notify_success("success message")
    #
    # Returns nothing.
    def notify_success(message)
      notify_log({:type => "success", :message => message})
    end

    # 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.
    def notify_log(attrs)
      notify(attributes.merge(attrs))
    end

    # Public: Method that notifies messages to observers.
    #
    #  message - General message
    #
    # Examples
    #
    #   notify("message")
    #
    # Returns nothing.
    def notify(message)
      changed
      notify_observers(message)
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
baton-0.7.0 lib/baton/observer.rb
baton-0.6.0 lib/baton/observer.rb
baton-0.5.6 lib/baton/observer.rb
baton-0.5.5 lib/baton/observer.rb
baton-0.5.4 lib/baton/observer.rb
baton-0.5.2 lib/baton/observer.rb
baton-0.4.10 lib/baton/observer.rb
baton-0.4.9 lib/baton/observer.rb
baton-0.4.8 lib/baton/observer.rb
baton-0.4.5 lib/baton/observer.rb
baton-0.4.4 lib/baton/observer.rb
baton-0.4.3 lib/baton/observer.rb
baton-0.4.2 lib/baton/observer.rb
baton-0.4.1 lib/baton/observer.rb
baton-0.3.7 lib/baton/observer.rb
baton-0.3.6 lib/baton/observer.rb