class Jabber::UserLocation::Location

The <geoloc> XMPP element, as defined in XEP-0080 User Location

See xmpp.org/extensions/xep-0080.html - this element encapsulates data about a user's current location. These are expressed as child elements such as <locality>, <lat>, etc. which are also managed by this class.

If the element has no children then it indicates that the user has stopped publishing their location.

Public Class Methods

new(attributes = {}) click to toggle source

Construct a new <location> element.

Supply no arguments to make an empty element to indicate that location is no longer being published.

attributes
Hash

location attributes

Calls superclass method
# File lib/xmpp4r/location/location.rb, line 37
def initialize(attributes = {})
  super()

  # validate attributes
  attributes = attributes.select do |k,v|
    ALLOWABLE_ATTRIBUTES.include?(k) && !v.nil?
  end

  attributes.each do |k,v|
    v = x.xmlschema if v.is_a?(Time)
    add_element(REXML::Element.new(k)).text = v.to_s
  end
end

Public Instance Methods

accuracy() click to toggle source

Get the accuracy attribute of this location.

# File lib/xmpp4r/location/location.rb, line 60
def accuracy
  first_element('accuracy').text if first_element('accuracy')
end
alt() click to toggle source

Get the alt attribute of this location.

# File lib/xmpp4r/location/location.rb, line 66
def alt
  first_element('alt').text if first_element('alt')
end
area() click to toggle source

Get the area attribute of this location.

# File lib/xmpp4r/location/location.rb, line 72
def area
  first_element('area').text if first_element('area')
end
bearing() click to toggle source

Get the bearing attribute of this location.

# File lib/xmpp4r/location/location.rb, line 78
def bearing
  first_element('bearing').text if first_element('bearing')
end
building() click to toggle source

Get the building attribute of this location.

# File lib/xmpp4r/location/location.rb, line 84
def building
  first_element('building').text if first_element('building')
end
country() click to toggle source

Get the country attribute of this location.

# File lib/xmpp4r/location/location.rb, line 90
def country
  first_element('country').text if first_element('country')
end
datum() click to toggle source

Get the datum attribute of this location.

# File lib/xmpp4r/location/location.rb, line 96
def datum
  first_element('datum').text if first_element('datum')
end
description() click to toggle source

Get the description attribute of this location.

# File lib/xmpp4r/location/location.rb, line 102
def description
  first_element('description').text if first_element('description')
end
floor() click to toggle source

Get the floor attribute of this location.

# File lib/xmpp4r/location/location.rb, line 108
def floor
  first_element('floor').text if first_element('floor')
end
lat() click to toggle source

Get the lat attribute of this location.

# File lib/xmpp4r/location/location.rb, line 114
def lat
  first_element('lat').text if first_element('lat')
end
locality() click to toggle source

Get the locality attribute of this location.

# File lib/xmpp4r/location/location.rb, line 120
def locality
  first_element('locality').text if first_element('locality')
end
lon() click to toggle source

Get the lon attribute of this location.

# File lib/xmpp4r/location/location.rb, line 126
def lon
  first_element('lon').text if first_element('lon')
end
postalcode() click to toggle source

Get the postalcode attribute of this location.

# File lib/xmpp4r/location/location.rb, line 132
def postalcode
  first_element('postalcode').text if first_element('postalcode')
end
published?() click to toggle source

Returns true if a location is currently being published, otherwise false.

# File lib/xmpp4r/location/location.rb, line 54
def published?
  (elements.size > 0)
end
region() click to toggle source

Get the region attribute of this location.

# File lib/xmpp4r/location/location.rb, line 138
def region
  first_element('region').text if first_element('region')
end
room() click to toggle source

Get the room attribute of this location.

# File lib/xmpp4r/location/location.rb, line 144
def room
  first_element('room').text if first_element('room')
end
speed() click to toggle source

Get the speed attribute of this location.

# File lib/xmpp4r/location/location.rb, line 150
def speed
  first_element('speed').text if first_element('speed')
end
street() click to toggle source

Get the street attribute of this location.

# File lib/xmpp4r/location/location.rb, line 156
def street
  first_element('street').text if first_element('street')
end
text() click to toggle source

Get the text attribute of this location.

# File lib/xmpp4r/location/location.rb, line 162
def text
  first_element('text').text if first_element('text')
end
timestamp() click to toggle source

Get the timestamp attribute of this location.

# File lib/xmpp4r/location/location.rb, line 168
def timestamp
  first_element('timestamp').text if first_element('timestamp')
end
uri() click to toggle source

Get the uri attribute of this location.

# File lib/xmpp4r/location/location.rb, line 174
def uri
  first_element('uri').text if first_element('uri')
end