<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>test/xml/skill_queue.xml</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -57,6 +57,7 @@ module Reve
     @@personal_wallet_journal_url  = 'http://api.eve-online.com/char/WalletJournal.xml.aspx'
     @@characters_url               = 'http://api.eve-online.com/account/Characters.xml.aspx'
     @@training_skill_url           = 'http://api.eve-online.com/char/SkillInTraining.xml.aspx'
+    @@skill_queue_url              = 'http://api.eve-online.com/char/SkillQueue.xml.aspx'
     @@character_sheet_url          = 'http://api.eve-online.com/char/CharacterSheet.xml.aspx'
     @@starbases_url                = 'http://api.eve-online.com/corp/StarbaseList.xml.aspx'
     @@starbasedetail_url           = 'http://api.eve-online.com/corp/StarbaseDetail.xml.aspx'
@@ -97,7 +98,7 @@ module Reve
                    :personal_faction_war_stats_url, :corporate_faction_war_stats_url,
                    :general_faction_war_stats_url, :top_faction_war_stats_url, :faction_war_occupancy_url,
                    :certificate_tree_url, :character_medals_url, :corporate_medals_url, 
-                   :corp_member_medals_url, :server_status_url
+                   :corp_member_medals_url, :server_status_url, :skill_queue_url
 
 
     attr_accessor :key, :userid, :charid
@@ -617,6 +618,18 @@ module Reve
       Reve::Classes::SkillInTraining.new(h)
     end
     
+    # Returns a list of Reve::Classes::QueuedSkill for characterid
+    # http://api.eve-online.com/char/SkillQueue.xml.aspx
+    # Expects:
+    # * characterid ( Integer | String ) - Get the QueuedSkill list for this character
+    # See also Reve::Classes::QueuedSkill
+    def skill_queue(opts = {:characterid =&gt; nil})
+      args = postfields(opts)
+      ch = compute_hash(args.merge(:url =&gt; @@skill_queue_url))
+      return ch if ch
+      process_query(Reve::Classes::QueuedSkill,opts[:url] || @@skill_queue_url,false,args)
+    end
+    
     # Returns a list of Reve::Classes::Starbase for characterid's Corporation.
     # http://api.eve-online.com/corp/StarbaseList.xml.aspx
     # Expects:</diff>
      <filename>lib/reve.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1155,6 +1155,29 @@ module Reve #:nodoc:
       end
     end
 
+    # Holds the result of the Reve::API#skill_queue call.
+    # Attributes
+    # * queue_position ( Integer ) - The queue position of this QueuedSkill
+    # * end_time ( Time ) - When the Skill is due to end
+    # * start_time ( Time ) - When the Skill training was started
+    # * type_id ( Fixnum ) - ID of the Skill (Refer to CCP database dump invtypes)
+    # * start_sp ( Fixnum ) - How many SP did the Character have before training was started
+    # * end_sp ( Fixnum ) - How many SP will the Character have after training finishes
+    # * to_level ( Fixnum ) - This is the level the Skill will be at when training is completed
+    # See Also: Reve::API#skill_queue
+    class QueuedSkill
+      attr_reader :queue_position, :end_time, :start_time, :type_id, :start_sp, :end_sp, :to_level
+      def initialize(elem) #:nodoc:
+        @queue_position = elem['queuePosition'].to_i
+        @end_time         = elem['endTime'].to_time
+        @start_time       = elem['startTime'].to_time
+        @type_id          = elem['typeID'].to_i
+        @start_sp         = elem['startSP'].to_i
+        @end_sp           = elem['endSP'].to_i
+        @to_level         = elem['level'].to_i
+      end
+    end
+    
     # Used for the Reve::API#sovereignty call.
     # Attributes
     # * system_id ( Fixnum ) - ID of the System</diff>
      <filename>lib/reve/classes.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 require 'test/unit'
-require 'reve'
+require '../lib/reve'
 require 'fileutils' # for saving downloaded XML
 
 XML_BASE = File.join(File.dirname(__FILE__),'xml/')
@@ -881,6 +881,23 @@ class TestReve &lt; Test::Unit::TestCase
     assert_not_nil skill.end_sp
   end
 
+  def test_skill_queue_clean
+    Reve::API.skill_queue_url = XML_BASE + 'skill_queue.xml'
+    queue = nil
+    assert_nothing_raised do
+      queue = @api.skill_queue(:characerid =&gt; 1)
+    end
+    assert_kind_of(Reve::Classes::QueuedSkill, queue.first)
+    assert_not_nil queue.first.queue_position
+    assert_not_nil queue.first.start_time
+    assert_not_nil queue.first.type_id
+    assert_not_nil queue.first.end_time
+    assert_not_nil queue.first.to_level
+    assert_not_nil queue.first.start_sp
+    assert_not_nil queue.first.end_sp
+    assert_equal 9, queue.length    
+  end
+
   def test_corporate_medals
     Reve::API.corporate_medals_url = XML_BASE + 'corp_medals.xml'
     medals = nil</diff>
      <filename>test/test_reve.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>fab00b097265be54123d91de043ed427992185c5</id>
    </parent>
  </parents>
  <author>
    <name>Dominik Sander</name>
    <email>git@dsander.de</email>
  </author>
  <url>http://github.com/lisa/reve/commit/110a5fe3795c47e546ac298002ca75f60b13a741</url>
  <id>110a5fe3795c47e546ac298002ca75f60b13a741</id>
  <committed-date>2009-06-20T19:07:47-07:00</committed-date>
  <authored-date>2009-06-11T07:53:08-07:00</authored-date>
  <message>Support for the SkillQueue

Signed-off-by: Lisa Seelye &lt;github@thedoh.com&gt;</message>
  <tree>918d592abc7c463f8ada175f0ae6176efa603aa3</tree>
  <committer>
    <name>Lisa Seelye</name>
    <email>github@thedoh.com</email>
  </committer>
</commit>
