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
data/eve_online.gemspec
CHANGED
data/lib/eve_online.rb
CHANGED
@@ -14,14 +14,21 @@ require 'eve_online/item'
|
|
14
14
|
require 'eve_online/implant'
|
15
15
|
require 'eve_online/skill'
|
16
16
|
require 'eve_online/jump_clone'
|
17
|
+
require 'eve_online/jump_clone_implant'
|
17
18
|
require 'eve_online/character_skills'
|
18
19
|
require 'eve_online/character_implants'
|
19
20
|
require 'eve_online/character_jump_clones'
|
21
|
+
require 'eve_online/character_jump_clone_implants'
|
20
22
|
require 'eve_online/standing'
|
23
|
+
require 'eve_online/skill_queue_entry'
|
24
|
+
require 'eve_online/contact_notification'
|
25
|
+
require 'eve_online/wallet_journal_entry'
|
26
|
+
require 'eve_online/market_order'
|
21
27
|
|
22
28
|
require 'eve_online/account/api_key_info'
|
23
29
|
require 'eve_online/account/characters'
|
24
30
|
require 'eve_online/account/status'
|
31
|
+
|
25
32
|
require 'eve_online/characters/account_balance'
|
26
33
|
require 'eve_online/characters/asset_list'
|
27
34
|
require 'eve_online/characters/blueprints'
|
@@ -34,6 +41,32 @@ require 'eve_online/characters/character_sheet'
|
|
34
41
|
require 'eve_online/characters/upcoming_calendar_events'
|
35
42
|
require 'eve_online/characters/skill_in_training'
|
36
43
|
require 'eve_online/characters/standings'
|
44
|
+
require 'eve_online/characters/contracts'
|
45
|
+
require 'eve_online/characters/chat_channels'
|
46
|
+
require 'eve_online/characters/contract_bids'
|
47
|
+
require 'eve_online/characters/contract_items'
|
48
|
+
require 'eve_online/characters/fac_war_stats'
|
49
|
+
require 'eve_online/characters/industry_jobs'
|
50
|
+
require 'eve_online/characters/industry_jobs_history'
|
51
|
+
require 'eve_online/characters/kill_mails'
|
52
|
+
require 'eve_online/characters/locations'
|
53
|
+
require 'eve_online/characters/mail_bodies'
|
54
|
+
require 'eve_online/characters/mailing_lists'
|
55
|
+
require 'eve_online/characters/mail_messages'
|
56
|
+
require 'eve_online/characters/market_orders'
|
57
|
+
require 'eve_online/characters/notifications'
|
58
|
+
require 'eve_online/characters/notification_texts'
|
59
|
+
require 'eve_online/characters/planetary_colonies'
|
60
|
+
require 'eve_online/characters/planetary_links'
|
61
|
+
require 'eve_online/characters/planetary_pins'
|
62
|
+
require 'eve_online/characters/planetary_routes'
|
63
|
+
require 'eve_online/characters/research'
|
64
|
+
require 'eve_online/characters/skill_queue'
|
65
|
+
require 'eve_online/characters/wallet_journal'
|
66
|
+
require 'eve_online/characters/wallet_transactions'
|
67
|
+
|
68
|
+
require 'eve_online/corporations/market_orders'
|
69
|
+
|
37
70
|
require 'eve_online/eve/character_id'
|
38
71
|
require 'eve_online/server/status'
|
39
72
|
|
@@ -26,34 +26,39 @@ module EveOnline
|
|
26
26
|
raise ArgumentError
|
27
27
|
end
|
28
28
|
end
|
29
|
-
|
30
|
-
def row
|
31
|
-
@row ||= rowset.fetch('row')
|
32
|
-
end
|
33
|
-
|
34
|
-
def rowset
|
35
|
-
@rowset ||= key.fetch('rowset')
|
36
|
-
end
|
29
|
+
memoize :characters
|
37
30
|
|
38
31
|
def expires
|
39
|
-
|
32
|
+
parse_datetime_with_timezone(key.fetch('@expires'))
|
40
33
|
end
|
41
34
|
|
42
35
|
def type
|
43
|
-
|
36
|
+
key.fetch('@type')
|
44
37
|
end
|
45
38
|
|
46
39
|
def access_mask
|
47
|
-
|
40
|
+
key.fetch('@accessMask').to_i
|
48
41
|
end
|
49
42
|
|
43
|
+
def url
|
44
|
+
"#{ API_ENDPOINT }?keyID=#{ key_id }&vCode=#{ v_code }"
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
|
50
49
|
def key
|
51
|
-
|
50
|
+
result.fetch('key')
|
52
51
|
end
|
53
52
|
|
54
|
-
def
|
55
|
-
|
53
|
+
def rowset
|
54
|
+
key.fetch('rowset')
|
55
|
+
end
|
56
|
+
memoize :rowset
|
57
|
+
|
58
|
+
def row
|
59
|
+
rowset.fetch('row')
|
56
60
|
end
|
61
|
+
memoize :row
|
57
62
|
end
|
58
63
|
end
|
59
64
|
end
|
@@ -26,18 +26,23 @@ module EveOnline
|
|
26
26
|
raise ArgumentError
|
27
27
|
end
|
28
28
|
end
|
29
|
+
memoize :characters
|
29
30
|
|
30
|
-
def
|
31
|
-
|
31
|
+
def url
|
32
|
+
"#{ API_ENDPOINT}?keyID=#{ key_id }&vCode=#{ v_code }"
|
32
33
|
end
|
33
34
|
|
35
|
+
private
|
36
|
+
|
34
37
|
def rowset
|
35
|
-
|
38
|
+
result.fetch('rowset')
|
36
39
|
end
|
40
|
+
memoize :rowset
|
37
41
|
|
38
|
-
def
|
39
|
-
|
42
|
+
def row
|
43
|
+
rowset.fetch('row')
|
40
44
|
end
|
45
|
+
memoize :row
|
41
46
|
end
|
42
47
|
end
|
43
48
|
end
|
@@ -24,19 +24,19 @@ module EveOnline
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def paid_until
|
27
|
-
|
27
|
+
parse_datetime_with_timezone(result.fetch('paidUntil'))
|
28
28
|
end
|
29
29
|
|
30
30
|
def create_date
|
31
|
-
|
31
|
+
parse_datetime_with_timezone(result.fetch('createDate'))
|
32
32
|
end
|
33
33
|
|
34
34
|
def logon_count
|
35
|
-
|
35
|
+
result.fetch('logonCount').to_i
|
36
36
|
end
|
37
37
|
|
38
38
|
def logon_minutes
|
39
|
-
|
39
|
+
result.fetch('logonMinutes').to_i
|
40
40
|
end
|
41
41
|
|
42
42
|
def url
|
data/lib/eve_online/base.rb
CHANGED
@@ -1,22 +1,27 @@
|
|
1
1
|
require 'open-uri'
|
2
|
+
require 'memoist'
|
2
3
|
|
3
4
|
module EveOnline
|
4
5
|
class Base
|
6
|
+
extend Memoist
|
7
|
+
|
5
8
|
def url
|
6
9
|
raise NotImplementedError
|
7
10
|
end
|
8
11
|
|
9
12
|
def user_agent
|
10
|
-
|
13
|
+
"EveOnline API (https://github.com/biow0lf/eve_online) v#{ VERSION }"
|
11
14
|
end
|
12
15
|
|
13
16
|
def content
|
14
|
-
|
15
|
-
|
17
|
+
open(url, open_timeout: 60, read_timeout: 60,
|
18
|
+
'User-Agent' => user_agent).read
|
16
19
|
end
|
20
|
+
memoize :content
|
17
21
|
|
18
22
|
def response
|
19
|
-
|
23
|
+
parser.parse(content)
|
20
24
|
end
|
25
|
+
memoize :response
|
21
26
|
end
|
22
27
|
end
|
data/lib/eve_online/base_xml.rb
CHANGED
@@ -10,24 +10,29 @@ module EveOnline
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def result
|
13
|
-
|
13
|
+
eveapi.fetch('result')
|
14
14
|
end
|
15
|
+
memoize :result
|
15
16
|
|
16
17
|
def cached_until
|
17
|
-
|
18
|
+
parse_datetime_with_timezone(eveapi.fetch('cachedUntil'))
|
18
19
|
end
|
20
|
+
memoize :cached_until
|
19
21
|
|
20
22
|
def current_time
|
21
|
-
|
23
|
+
parse_datetime_with_timezone(eveapi.fetch('currentTime'))
|
22
24
|
end
|
25
|
+
memoize :current_time
|
23
26
|
|
24
27
|
def version
|
25
28
|
eveapi.fetch('@version').to_i
|
26
29
|
end
|
30
|
+
memoize :version
|
27
31
|
|
28
32
|
def eveapi
|
29
|
-
|
33
|
+
response.fetch('eveapi')
|
30
34
|
end
|
35
|
+
memoize :eveapi
|
31
36
|
|
32
37
|
private
|
33
38
|
|
data/lib/eve_online/blueprint.rb
CHANGED
@@ -21,40 +21,40 @@ module EveOnline
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def item_id
|
24
|
-
|
24
|
+
options.fetch('@itemID').to_i
|
25
25
|
end
|
26
26
|
|
27
27
|
def location_id
|
28
|
-
|
28
|
+
options.fetch('@locationID').to_i
|
29
29
|
end
|
30
30
|
|
31
31
|
def type_id
|
32
|
-
|
32
|
+
options.fetch('@typeID').to_i
|
33
33
|
end
|
34
34
|
|
35
35
|
def type_name
|
36
|
-
|
36
|
+
options.fetch('@typeName')
|
37
37
|
end
|
38
38
|
|
39
39
|
def flag_id
|
40
|
-
|
40
|
+
options.fetch('@flagID').to_i
|
41
41
|
end
|
42
42
|
|
43
43
|
# TODO: return EveOnline::Blueprint::Quantity
|
44
44
|
def quantity
|
45
|
-
|
45
|
+
options.fetch('@quantity').to_i
|
46
46
|
end
|
47
47
|
|
48
48
|
def time_efficiency
|
49
|
-
|
49
|
+
options.fetch('@timeEfficiency').to_i
|
50
50
|
end
|
51
51
|
|
52
52
|
def material_efficiency
|
53
|
-
|
53
|
+
options.fetch('@materialEfficiency').to_i
|
54
54
|
end
|
55
55
|
|
56
56
|
def runs
|
57
|
-
|
57
|
+
options.fetch('@runs').to_i
|
58
58
|
end
|
59
59
|
end
|
60
60
|
end
|
data/lib/eve_online/bookmark.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'active_support/time'
|
2
|
+
|
1
3
|
module EveOnline
|
2
4
|
class Bookmark
|
3
5
|
attr_reader :options
|
@@ -23,47 +25,47 @@ module EveOnline
|
|
23
25
|
end
|
24
26
|
|
25
27
|
def bookmark_id
|
26
|
-
|
28
|
+
options.fetch('@bookmarkID').to_i
|
27
29
|
end
|
28
30
|
|
29
31
|
def creator_id
|
30
|
-
|
32
|
+
options.fetch('@creatorID').to_i
|
31
33
|
end
|
32
34
|
|
33
35
|
def created
|
34
|
-
|
36
|
+
ActiveSupport::TimeZone['UTC'].parse(options.fetch('@created'))
|
35
37
|
end
|
36
38
|
|
37
39
|
def item_id
|
38
|
-
|
40
|
+
options.fetch('@itemID').to_i
|
39
41
|
end
|
40
42
|
|
41
43
|
def type_id
|
42
|
-
|
44
|
+
options.fetch('@typeID').to_i
|
43
45
|
end
|
44
46
|
|
45
47
|
def location_id
|
46
|
-
|
48
|
+
options.fetch('@locationID').to_i
|
47
49
|
end
|
48
50
|
|
49
51
|
def x
|
50
|
-
|
52
|
+
options.fetch('@x').to_f
|
51
53
|
end
|
52
54
|
|
53
55
|
def y
|
54
|
-
|
56
|
+
options.fetch('@y').to_f
|
55
57
|
end
|
56
58
|
|
57
59
|
def z
|
58
|
-
|
60
|
+
options.fetch('@z').to_f
|
59
61
|
end
|
60
62
|
|
61
63
|
def memo
|
62
|
-
|
64
|
+
options.fetch('@memo')
|
63
65
|
end
|
64
66
|
|
65
67
|
def note
|
66
|
-
|
68
|
+
options.fetch('@note')
|
67
69
|
end
|
68
70
|
end
|
69
71
|
end
|
@@ -1,5 +1,9 @@
|
|
1
|
+
require 'memoist'
|
2
|
+
|
1
3
|
module EveOnline
|
2
4
|
class BookmarkFolder
|
5
|
+
extend Memoist
|
6
|
+
|
3
7
|
attr_reader :options
|
4
8
|
|
5
9
|
def initialize(options)
|
@@ -14,38 +18,39 @@ module EveOnline
|
|
14
18
|
end
|
15
19
|
|
16
20
|
def folder_id
|
17
|
-
|
21
|
+
options.fetch('@folderID').to_i
|
18
22
|
end
|
19
23
|
|
20
24
|
def folder_name
|
21
|
-
|
25
|
+
options.fetch('@folderName')
|
22
26
|
end
|
23
27
|
|
24
28
|
def bookmarks
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
bookmarks << Bookmark.new(bookmark)
|
33
|
-
end
|
34
|
-
bookmarks
|
35
|
-
else
|
36
|
-
raise ArgumentError
|
29
|
+
case row
|
30
|
+
when Hash
|
31
|
+
[Bookmark.new(row)]
|
32
|
+
when Array
|
33
|
+
bookmarks = []
|
34
|
+
row.each do |bookmark|
|
35
|
+
bookmarks << Bookmark.new(bookmark)
|
37
36
|
end
|
37
|
+
bookmarks
|
38
|
+
else
|
39
|
+
raise ArgumentError
|
38
40
|
end
|
39
41
|
end
|
42
|
+
memoize :bookmarks
|
40
43
|
|
41
44
|
private
|
42
45
|
|
43
46
|
def rowset
|
44
|
-
|
47
|
+
options.fetch('rowset')
|
45
48
|
end
|
49
|
+
memoize :rowset
|
46
50
|
|
47
51
|
def row
|
48
|
-
|
52
|
+
rowset.fetch('row')
|
49
53
|
end
|
54
|
+
memoize :row
|
50
55
|
end
|
51
56
|
end
|
data/lib/eve_online/character.rb
CHANGED
@@ -20,35 +20,35 @@ module EveOnline
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def character_id
|
23
|
-
|
23
|
+
options.fetch('@characterID').to_i
|
24
24
|
end
|
25
25
|
|
26
26
|
def character_name
|
27
|
-
|
27
|
+
options.fetch('@name', nil) || options.fetch('@characterName')
|
28
28
|
end
|
29
29
|
|
30
30
|
def corporation_id
|
31
|
-
|
31
|
+
options.fetch('@corporationID').to_i
|
32
32
|
end
|
33
33
|
|
34
34
|
def corporation_name
|
35
|
-
|
35
|
+
options.fetch('@corporationName')
|
36
36
|
end
|
37
37
|
|
38
38
|
def alliance_id
|
39
|
-
|
39
|
+
options.fetch('@allianceID').to_i
|
40
40
|
end
|
41
41
|
|
42
42
|
def alliance_name
|
43
|
-
|
43
|
+
options.fetch('@allianceName')
|
44
44
|
end
|
45
45
|
|
46
46
|
def faction_id
|
47
|
-
|
47
|
+
options.fetch('@factionID').to_i
|
48
48
|
end
|
49
49
|
|
50
50
|
def faction_name
|
51
|
-
|
51
|
+
options.fetch('@factionName')
|
52
52
|
end
|
53
53
|
end
|
54
54
|
end
|