eve_online 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/README.md +560 -17
- data/eve_online.gemspec +1 -0
- data/lib/eve_online.rb +33 -0
- data/lib/eve_online/account/api_key_info.rb +19 -14
- data/lib/eve_online/account/characters.rb +10 -5
- data/lib/eve_online/account/status.rb +4 -4
- data/lib/eve_online/base.rb +9 -4
- data/lib/eve_online/base_xml.rb +9 -4
- data/lib/eve_online/blueprint.rb +9 -9
- data/lib/eve_online/bookmark.rb +13 -11
- data/lib/eve_online/bookmark_folder.rb +21 -16
- data/lib/eve_online/character.rb +8 -8
- data/lib/eve_online/character_implants.rb +7 -1
- data/lib/eve_online/character_jump_clone_implants.rb +29 -0
- data/lib/eve_online/character_jump_clones.rb +7 -1
- data/lib/eve_online/character_skills.rb +7 -1
- data/lib/eve_online/characters/account_balance.rb +14 -8
- data/lib/eve_online/characters/asset_list.rb +12 -5
- data/lib/eve_online/characters/blueprints.rb +12 -5
- data/lib/eve_online/characters/bookmarks.rb +22 -17
- data/lib/eve_online/characters/calendar_event_attendees.rb +2 -0
- data/lib/eve_online/characters/character_sheet.rb +48 -37
- data/lib/eve_online/characters/chat_channels.rb +23 -0
- data/lib/eve_online/characters/contact_list.rb +2 -0
- data/lib/eve_online/characters/contact_notifications.rb +30 -0
- data/lib/eve_online/characters/contract_bids.rb +23 -0
- data/lib/eve_online/characters/contract_items.rb +24 -0
- data/lib/eve_online/characters/contracts.rb +26 -0
- data/lib/eve_online/characters/fac_war_stats.rb +23 -0
- data/lib/eve_online/characters/industry_jobs.rb +23 -0
- data/lib/eve_online/characters/industry_jobs_history.rb +23 -0
- data/lib/eve_online/characters/kill_mails.rb +25 -0
- data/lib/eve_online/characters/locations.rb +32 -0
- data/lib/eve_online/characters/mail_bodies.rb +30 -0
- data/lib/eve_online/characters/mail_messages.rb +23 -0
- data/lib/eve_online/characters/mailing_lists.rb +23 -0
- data/lib/eve_online/characters/market_orders.rb +55 -0
- data/lib/eve_online/characters/medals.rb +2 -0
- data/lib/eve_online/characters/notification_texts.rb +32 -0
- data/lib/eve_online/characters/notifications.rb +23 -0
- data/lib/eve_online/characters/planetary_colonies.rb +23 -0
- data/lib/eve_online/characters/planetary_links.rb +24 -0
- data/lib/eve_online/characters/planetary_pins.rb +24 -0
- data/lib/eve_online/characters/planetary_routes.rb +24 -0
- data/lib/eve_online/characters/research.rb +23 -0
- data/lib/eve_online/characters/skill_in_training.rb +10 -8
- data/lib/eve_online/characters/skill_queue.rb +51 -0
- data/lib/eve_online/characters/standings.rb +23 -21
- data/lib/eve_online/characters/upcoming_calendar_events.rb +12 -5
- data/lib/eve_online/characters/wallet_journal.rb +57 -0
- data/lib/eve_online/characters/wallet_transactions.rb +24 -0
- data/lib/eve_online/contact_notification.rb +42 -0
- data/lib/eve_online/corporations/market_orders.rb +55 -0
- data/lib/eve_online/eve/character_id.rb +9 -9
- data/lib/eve_online/event.rb +12 -10
- data/lib/eve_online/implant.rb +2 -2
- data/lib/eve_online/item.rb +7 -7
- data/lib/eve_online/jump_clone.rb +4 -4
- data/lib/eve_online/jump_clone_implant.rb +29 -0
- data/lib/eve_online/market_order.rb +91 -0
- data/lib/eve_online/server/status.rb +2 -2
- data/lib/eve_online/skill.rb +4 -4
- data/lib/eve_online/skill_queue_entry.rb +51 -0
- data/lib/eve_online/sovereignty/campaigns.rb +1 -1
- data/lib/eve_online/standing.rb +3 -3
- data/lib/eve_online/version.rb +1 -1
- data/lib/eve_online/wallet_journal_entry.rb +97 -0
- metadata +46 -2
@@ -0,0 +1,23 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Characters
|
3
|
+
# https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/character/char_chatchannels.html
|
4
|
+
class ChatChannels < BaseXML
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/char/ChatChannels.xml.aspx'.freeze
|
6
|
+
|
7
|
+
ACCESS_MASK = 536_870_912
|
8
|
+
|
9
|
+
attr_reader :key_id, :v_code, :character_id
|
10
|
+
|
11
|
+
def initialize(key_id, v_code, character_id)
|
12
|
+
super()
|
13
|
+
@key_id = key_id
|
14
|
+
@v_code = v_code
|
15
|
+
@character_id = character_id
|
16
|
+
end
|
17
|
+
|
18
|
+
def url
|
19
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }&characterID=#{ character_id }"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -4,6 +4,8 @@ module EveOnline
|
|
4
4
|
class ContactNotifications < BaseXML
|
5
5
|
API_ENDPOINT = 'https://api.eveonline.com/char/ContactNotifications.xml.aspx'.freeze
|
6
6
|
|
7
|
+
ACCESS_MASK = 32
|
8
|
+
|
7
9
|
attr_reader :key_id, :v_code, :character_id
|
8
10
|
|
9
11
|
def initialize(key_id, v_code, character_id)
|
@@ -13,9 +15,37 @@ module EveOnline
|
|
13
15
|
@character_id = character_id
|
14
16
|
end
|
15
17
|
|
18
|
+
def contact_notifications
|
19
|
+
case row
|
20
|
+
when Hash
|
21
|
+
[ContactNotification.new(row)]
|
22
|
+
when Array
|
23
|
+
output = []
|
24
|
+
row.each do |contact_notification|
|
25
|
+
output << ContactNotification.new(contact_notification)
|
26
|
+
end
|
27
|
+
output
|
28
|
+
else
|
29
|
+
raise ArgumentError
|
30
|
+
end
|
31
|
+
end
|
32
|
+
memoize :contact_notifications
|
33
|
+
|
16
34
|
def url
|
17
35
|
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }&characterID=#{ character_id }"
|
18
36
|
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def rowset
|
41
|
+
result.fetch('rowset')
|
42
|
+
end
|
43
|
+
memoize :rowset
|
44
|
+
|
45
|
+
def row
|
46
|
+
rowset.fetch('row')
|
47
|
+
end
|
48
|
+
memoize :row
|
19
49
|
end
|
20
50
|
end
|
21
51
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Characters
|
3
|
+
# https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/character/char_contractbids.html
|
4
|
+
class ContractBids < BaseXML
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/char/ContractBids.xml.aspx'.freeze
|
6
|
+
|
7
|
+
ACCESS_MASK = 67_108_864
|
8
|
+
|
9
|
+
attr_reader :key_id, :v_code, :character_id
|
10
|
+
|
11
|
+
def initialize(key_id, v_code, character_id)
|
12
|
+
super()
|
13
|
+
@key_id = key_id
|
14
|
+
@v_code = v_code
|
15
|
+
@character_id = character_id
|
16
|
+
end
|
17
|
+
|
18
|
+
def url
|
19
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }&characterID=#{ character_id }"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Characters
|
3
|
+
# https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/character/char_contractitems.html
|
4
|
+
class ContractItems < BaseXML
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/char/ContractItems.xml.aspx'.freeze
|
6
|
+
|
7
|
+
ACCESS_MASK = 67_108_864
|
8
|
+
|
9
|
+
attr_reader :key_id, :v_code, :character_id, :contract_id
|
10
|
+
|
11
|
+
def initialize(key_id, v_code, character_id, contract_id)
|
12
|
+
super()
|
13
|
+
@key_id = key_id
|
14
|
+
@v_code = v_code
|
15
|
+
@character_id = character_id
|
16
|
+
@contract_id = contract_id
|
17
|
+
end
|
18
|
+
|
19
|
+
def url
|
20
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }&characterID=#{ character_id }&contractID=#{ contract_id }"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Characters
|
3
|
+
# https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/character/char_contracts.html
|
4
|
+
class Contracts < BaseXML
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/char/Contracts.xml.aspx'.freeze
|
6
|
+
|
7
|
+
ACCESS_MASK = 67_108_864
|
8
|
+
|
9
|
+
# attr_reader :key_id, :v_code, :character_id, :contract_id
|
10
|
+
attr_reader :key_id, :v_code, :character_id
|
11
|
+
|
12
|
+
# def initialize(key_id, v_code, character_id, contract_id = nil)
|
13
|
+
def initialize(key_id, v_code, character_id)
|
14
|
+
super()
|
15
|
+
@key_id = key_id
|
16
|
+
@v_code = v_code
|
17
|
+
@character_id = character_id
|
18
|
+
end
|
19
|
+
|
20
|
+
def url
|
21
|
+
# TODO: add support for contract_id
|
22
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }&characterID=#{ character_id }"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Characters
|
3
|
+
# https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/character/char_facwarstats.html
|
4
|
+
class FacWarStats < BaseXML
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/char/FacWarStats.xml.aspx'.freeze
|
6
|
+
|
7
|
+
ACCESS_MASK = 64
|
8
|
+
|
9
|
+
attr_reader :key_id, :v_code, :character_id
|
10
|
+
|
11
|
+
def initialize(key_id, v_code, character_id)
|
12
|
+
super()
|
13
|
+
@key_id = key_id
|
14
|
+
@v_code = v_code
|
15
|
+
@character_id = character_id
|
16
|
+
end
|
17
|
+
|
18
|
+
def url
|
19
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }&characterID=#{ character_id }"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Characters
|
3
|
+
# https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/character/char_industryjobs.html
|
4
|
+
class IndustryJobs < BaseXML
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/char/IndustryJobs.xml.aspx'.freeze
|
6
|
+
|
7
|
+
ACCESS_MASK = 128
|
8
|
+
|
9
|
+
attr_reader :key_id, :v_code, :character_id
|
10
|
+
|
11
|
+
def initialize(key_id, v_code, character_id)
|
12
|
+
super()
|
13
|
+
@key_id = key_id
|
14
|
+
@v_code = v_code
|
15
|
+
@character_id = character_id
|
16
|
+
end
|
17
|
+
|
18
|
+
def url
|
19
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }&characterID=#{ character_id }"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Characters
|
3
|
+
# https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/character/char_industryjobshistory.html
|
4
|
+
class IndustryJobsHistory < BaseXML
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/char/IndustryJobsHistory.xml.aspx'.freeze
|
6
|
+
|
7
|
+
ACCESS_MASK = 128
|
8
|
+
|
9
|
+
attr_reader :key_id, :v_code, :character_id
|
10
|
+
|
11
|
+
def initialize(key_id, v_code, character_id)
|
12
|
+
super()
|
13
|
+
@key_id = key_id
|
14
|
+
@v_code = v_code
|
15
|
+
@character_id = character_id
|
16
|
+
end
|
17
|
+
|
18
|
+
def url
|
19
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }&characterID=#{ character_id }"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Characters
|
3
|
+
# https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/character/char_killmails.html
|
4
|
+
class KillMails < BaseXML
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/char/KillMails.xml.aspx'.freeze
|
6
|
+
|
7
|
+
ACCESS_MASK = 256
|
8
|
+
|
9
|
+
attr_reader :key_id, :v_code, :character_id
|
10
|
+
|
11
|
+
def initialize(key_id, v_code, character_id)
|
12
|
+
super()
|
13
|
+
@key_id = key_id
|
14
|
+
@v_code = v_code
|
15
|
+
@character_id = character_id
|
16
|
+
# TODO: @from_id
|
17
|
+
# TODO: row_count
|
18
|
+
end
|
19
|
+
|
20
|
+
def url
|
21
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }&characterID=#{ character_id }"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'uri'
|
2
|
+
|
3
|
+
module EveOnline
|
4
|
+
module Characters
|
5
|
+
# https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/character/char_locations.html
|
6
|
+
class Locations < BaseXML
|
7
|
+
API_ENDPOINT = 'https://api.eveonline.com/char/Locations.xml.aspx'.freeze
|
8
|
+
|
9
|
+
ACCESS_MASK = 134_217_728
|
10
|
+
|
11
|
+
attr_reader :key_id, :v_code, :character_id, :ids
|
12
|
+
|
13
|
+
def initialize(key_id, v_code, character_id, ids)
|
14
|
+
super()
|
15
|
+
@key_id = key_id
|
16
|
+
@v_code = v_code
|
17
|
+
@character_id = character_id
|
18
|
+
@ids = ids
|
19
|
+
end
|
20
|
+
|
21
|
+
def url
|
22
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }&characterID=#{ character_id }&IDs=#{ escaped_ids }"
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def escaped_ids
|
28
|
+
URI.escape(ids.join(','))
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Characters
|
3
|
+
# https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/character/char_mailbodies.html
|
4
|
+
class MailBodies < BaseXML
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/char/MailBodies.xml.aspx'.freeze
|
6
|
+
|
7
|
+
ACCESS_MASK = 512
|
8
|
+
|
9
|
+
attr_reader :key_id, :v_code, :character_id, :ids
|
10
|
+
|
11
|
+
def initialize(key_id, v_code, character_id, ids)
|
12
|
+
super()
|
13
|
+
@key_id = key_id
|
14
|
+
@v_code = v_code
|
15
|
+
@character_id = character_id
|
16
|
+
@ids = ids
|
17
|
+
end
|
18
|
+
|
19
|
+
def url
|
20
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }&characterID=#{ character_id }&IDs=#{ escaped_ids }"
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def escaped_ids
|
26
|
+
URI.escape(ids.join(','))
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Characters
|
3
|
+
# https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/character/char_mailmessages.html
|
4
|
+
class MailMessages < BaseXML
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/char/MailMessages.xml.aspx'.freeze
|
6
|
+
|
7
|
+
ACCESS_MASK = 2_048
|
8
|
+
|
9
|
+
attr_reader :key_id, :v_code, :character_id
|
10
|
+
|
11
|
+
def initialize(key_id, v_code, character_id)
|
12
|
+
super()
|
13
|
+
@key_id = key_id
|
14
|
+
@v_code = v_code
|
15
|
+
@character_id = character_id
|
16
|
+
end
|
17
|
+
|
18
|
+
def url
|
19
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }&characterID=#{ character_id }"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Characters
|
3
|
+
# https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/character/char_mailinglists.html
|
4
|
+
class MailingLists < BaseXML
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/char/mailinglists.xml.aspx'.freeze
|
6
|
+
|
7
|
+
ACCESS_MASK = 1_024
|
8
|
+
|
9
|
+
attr_reader :key_id, :v_code, :character_id
|
10
|
+
|
11
|
+
def initialize(key_id, v_code, character_id)
|
12
|
+
super()
|
13
|
+
@key_id = key_id
|
14
|
+
@v_code = v_code
|
15
|
+
@character_id = character_id
|
16
|
+
end
|
17
|
+
|
18
|
+
def url
|
19
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }&characterID=#{ character_id }"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module EveOnline
|
2
|
+
module Characters
|
3
|
+
# https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/character/char_marketorders.html
|
4
|
+
class MarketOrders < BaseXML
|
5
|
+
API_ENDPOINT = 'https://api.eveonline.com/char/MarketOrders.xml.aspx'.freeze
|
6
|
+
|
7
|
+
ACCESS_MASK = 4_096
|
8
|
+
|
9
|
+
attr_reader :key_id, :v_code, :character_id, :order_id
|
10
|
+
|
11
|
+
def initialize(key_id, v_code, options = {})
|
12
|
+
super()
|
13
|
+
@key_id = key_id
|
14
|
+
@v_code = v_code
|
15
|
+
@character_id = options.fetch(:character_id, nil)
|
16
|
+
@order_id = options.fetch(:order_id, nil)
|
17
|
+
end
|
18
|
+
|
19
|
+
def orders
|
20
|
+
case row
|
21
|
+
when Hash
|
22
|
+
[MarketOrder.new(row)]
|
23
|
+
when Array
|
24
|
+
output = []
|
25
|
+
row.each do |order|
|
26
|
+
output << MarketOrder.new(order)
|
27
|
+
end
|
28
|
+
output
|
29
|
+
else
|
30
|
+
raise ArgumentError
|
31
|
+
end
|
32
|
+
end
|
33
|
+
memoize :orders
|
34
|
+
|
35
|
+
def url
|
36
|
+
output = "#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }"
|
37
|
+
output = "#{ output }&characterID=#{ character_id }" if character_id
|
38
|
+
output = "#{ output }&orderID=#{ order_id }" if order_id
|
39
|
+
output
|
40
|
+
end
|
41
|
+
|
42
|
+
private
|
43
|
+
|
44
|
+
def rowset
|
45
|
+
result.fetch('rowset')
|
46
|
+
end
|
47
|
+
memoize :rowset
|
48
|
+
|
49
|
+
def row
|
50
|
+
rowset.fetch('row')
|
51
|
+
end
|
52
|
+
memoize :row
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'uri'
|
2
|
+
|
3
|
+
module EveOnline
|
4
|
+
module Characters
|
5
|
+
# https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/character/char_notificationtexts.html
|
6
|
+
class NotificationTexts < BaseXML
|
7
|
+
API_ENDPOINT = 'https://api.eveonline.com/char/NotificationTexts.xml.aspx'.freeze
|
8
|
+
|
9
|
+
ACCESS_MASK = 32_768
|
10
|
+
|
11
|
+
attr_reader :key_id, :v_code, :character_id, :ids
|
12
|
+
|
13
|
+
def initialize(key_id, v_code, character_id, ids)
|
14
|
+
super()
|
15
|
+
@key_id = key_id
|
16
|
+
@v_code = v_code
|
17
|
+
@character_id = character_id
|
18
|
+
@ids = ids
|
19
|
+
end
|
20
|
+
|
21
|
+
def url
|
22
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }&characterID=#{ character_id }&IDs=#{ escaped_ids }"
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def escaped_ids
|
28
|
+
URI.escape(ids.join(','))
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|