Sha256: 35552cee699af085dca383bf52bab5790b4ee79728ea61dd5d8314e768b7693c

Contents?: true

Size: 1.11 KB

Versions: 2

Compression:

Stored size: 1.11 KB

Contents

#
# This class represents a user which triggered the hook.
#
require 'xmpp4r'

module Environmate
  class User

    def initialize(email = nil)
      @email         = email
      @xmpp_client   = Environmate::Xmpp.client
      @xmpp_settings = Environmate.configuration['xmpp']
      if @xmpp_settings && @xmpp_settings['users'].has_key?(@email)
        @xmpp_user   = @xmpp_settings['users'][@email]
        Envionmate.log.info("Xmpp user found #{@xmpp_user}")
      end
      @response      = []
    end

    # Send a message to the user
    #
    # * +severity+ - Message severity (log level)
    # * +message+  - The message
    def notify(severity, message)
      Environmate.log.log(Logger.const_get(severity.to_s.upcase), message)
      @response << [severity, message]
      if @xmpp_client && @xmpp_user
        xmpp_message = Jabber::Message.new(@xmpp_user, format(severity, message))
        @xmpp_client.send(xmpp_message)
      end
    end

    def format(severity, message)
      "#{severity.to_s.upcase}: #{message}"
    end

    # Get array of messages for the response
    def response
      @response
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
environmate-0.1.1 lib/environmate/user.rb
environmate-0.1.0 lib/environmate/user.rb