The <tune> XMPP element, as defined in XEP-0118 User Tune
See www.xmpp.org/extensions/xep-0118.html - this element encapsulates metadata (artist, track etc) about a tune the user is currently playing. These are expressed as child elements such as <artist>, <title> etc which are also managed by this class.
If the element has no children then it indicates that the user has stopped playing a tune. Use the Tune#playing? method to discover this?
Construct a new <tune> element.
Supply no arguments to make an empty element to indicate that tune playing has stopped.
artist |
|
title |
|
length |
|
track |
|
source |
|
uri |
|
rating |
|
# File lib/xmpp4r/tune/tune.rb, line 40 def initialize(artist = nil, title = nil, length = nil, track = nil, source = nil, uri = nil, rating = nil) super() add_element(REXML::Element.new('artist')).text = artist if artist add_element(REXML::Element.new('title')).text = title if title add_element(REXML::Element.new('length')).text = length.to_s if length add_element(REXML::Element.new('track')).text = track if track add_element(REXML::Element.new('source')).text = source if source add_element(REXML::Element.new('uri')).text = uri if uri if rating and rating.kind_of?(Numeric) r = rating.to_i r = 0 if r < 0 r = 10 if r > 10 add_element(REXML::Element.new('rating')).text = r.to_s end end
Get the artist for this tune.
# File lib/xmpp4r/tune/tune.rb, line 72 def artist first_element('artist').text if first_element('artist') end
Get the length of this tune, in seconds.
# File lib/xmpp4r/tune/tune.rb, line 84 def length first_element('length').text.to_i if first_element('length') end
Returns true if a tune is currently playing, otherwise false.
# File lib/xmpp4r/tune/tune.rb, line 66 def playing? (elements.size > 0) end
Get the rating for this track
# File lib/xmpp4r/tune/tune.rb, line 108 def rating first_element('rating').text.to_i if first_element('rating') end
Get the source of this tune, such as an album.
# File lib/xmpp4r/tune/tune.rb, line 96 def source first_element('source').text if first_element('source') end
Get the title of this tune.
# File lib/xmpp4r/tune/tune.rb, line 78 def title first_element('title').text if first_element('title') end
Generated with the Darkfish Rdoc Generator 2.