class Openfire::Session

Attributes

creation_date[RW]
host_address[RW]
host_name[RW]
last_action_date[RW]
node[RW]
presence_message[RW]
presence_status[RW]
priority[RW]
resource[RW]
secure[RW]
session_id[RW]
session_status[RW]
username[RW]

Public Class Methods

new(attributes={}) click to toggle source
# File lib/openfire/session.rb, line 7
def initialize(attributes={})
  time_attrs = ['creationDate', 'lastActionDate']
  boolean_attrs = ['secure']

  attributes.each do |k,v|
    if k == 'ressource'
      self.resource = v
    elsif time_attrs.include?(k)
      self.send("#{to_underscore(k)}=", Time.parse(v)) unless v.nil?
    elsif boolean_attrs.include?(k)
      self.send("#{to_underscore(k)}=", v == 'true')
    else
      self.send("#{to_underscore(k)}=", v)
    end
  end
end

Private Instance Methods

to_underscore(val) click to toggle source
# File lib/openfire/session.rb, line 26
def to_underscore(val)
  val.gsub(/::/, '/').
  gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
  gsub(/([a-z\d])([A-Z])/,'\1_\2').
  tr("-", "_").
  downcase
end