Method: Scrobbler::Auth#session

Defined in:
lib/scrobbler/auth.rb

#session(token) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/scrobbler/auth.rb', line 10

def session(token)
  doc = Base.request('auth.getsession', :signed => true, :token => token)
  asession = {}
  doc.root.children.each do |child1|
    next unless child1.name == 'session'
    child1.children.each do |child2|
      if child2.name == 'name'
        asession[:name] = child2.content
      elsif child2.name == 'key'
        asession[:key] = child2.content
      elsif child2.name == 'subscriber'
        asession[:subscriber] = true if child2.content == '1'
        asession[:subscriber] = false unless child2.content == '1'
      end   
    end
  end
  Scrobbler::Session.new(asession)
end