eve_online 0.29.0 → 0.34.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (200) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +62 -0
  3. data/.ruby-version +1 -1
  4. data/Appraisals +11 -0
  5. data/CHANGELOG.md +67 -0
  6. data/Gemfile +7 -10
  7. data/Gemfile.lock +77 -68
  8. data/Gemfile.mutant.lock +67 -59
  9. data/README.md +414 -136
  10. data/Rakefile +2 -2
  11. data/eve_online.gemspec +28 -27
  12. data/lib/eve_online.rb +226 -185
  13. data/lib/eve_online/esi/alliance.rb +6 -6
  14. data/lib/eve_online/esi/alliance_corporations.rb +4 -3
  15. data/lib/eve_online/esi/alliance_icon.rb +5 -4
  16. data/lib/eve_online/esi/alliances.rb +3 -2
  17. data/lib/eve_online/esi/base.rb +42 -32
  18. data/lib/eve_online/esi/character.rb +7 -6
  19. data/lib/eve_online/esi/character_assets.rb +4 -4
  20. data/lib/eve_online/esi/character_assets_locations.rb +4 -4
  21. data/lib/eve_online/esi/character_assets_names.rb +4 -4
  22. data/lib/eve_online/esi/character_attributes.rb +6 -6
  23. data/lib/eve_online/esi/character_blueprints.rb +4 -4
  24. data/lib/eve_online/esi/character_calendar.rb +4 -4
  25. data/lib/eve_online/esi/character_calendar_event.rb +4 -5
  26. data/lib/eve_online/esi/character_clones.rb +7 -7
  27. data/lib/eve_online/esi/{character_bookmarks.rb → character_contracts.rb} +9 -9
  28. data/lib/eve_online/esi/character_corporation_history.rb +4 -3
  29. data/lib/eve_online/esi/character_fatigue.rb +5 -5
  30. data/lib/eve_online/esi/character_get_mail.rb +37 -0
  31. data/lib/eve_online/esi/character_implants.rb +3 -3
  32. data/lib/eve_online/esi/character_industry_jobs.rb +4 -4
  33. data/lib/eve_online/esi/character_killmails_recent.rb +4 -4
  34. data/lib/eve_online/esi/character_location.rb +5 -5
  35. data/lib/eve_online/esi/character_loyalty_points.rb +3 -3
  36. data/lib/eve_online/esi/character_mail_labels.rb +40 -0
  37. data/lib/eve_online/esi/character_notifications.rb +3 -3
  38. data/lib/eve_online/esi/character_online.rb +5 -5
  39. data/lib/eve_online/esi/character_orders.rb +3 -3
  40. data/lib/eve_online/esi/character_portrait.rb +5 -4
  41. data/lib/eve_online/esi/character_ship.rb +4 -4
  42. data/lib/eve_online/esi/character_skill_queue.rb +3 -3
  43. data/lib/eve_online/esi/character_skills.rb +6 -6
  44. data/lib/eve_online/esi/character_standings.rb +3 -3
  45. data/lib/eve_online/esi/character_wallet.rb +3 -3
  46. data/lib/eve_online/esi/character_wallet_journal.rb +6 -6
  47. data/lib/eve_online/esi/character_wallet_transactions.rb +41 -0
  48. data/lib/eve_online/esi/corporation.rb +8 -7
  49. data/lib/eve_online/esi/corporation_alliance_history.rb +4 -3
  50. data/lib/eve_online/esi/corporation_assets.rb +5 -5
  51. data/lib/eve_online/esi/corporation_assets_locations.rb +5 -5
  52. data/lib/eve_online/esi/corporation_assets_names.rb +5 -5
  53. data/lib/eve_online/esi/corporation_blueprints.rb +5 -5
  54. data/lib/eve_online/esi/corporation_industry_jobs.rb +5 -5
  55. data/lib/eve_online/esi/corporation_killmails_recent.rb +5 -5
  56. data/lib/eve_online/esi/corporation_loyalty_store_offers.rb +4 -3
  57. data/lib/eve_online/esi/corporation_npc.rb +20 -0
  58. data/lib/eve_online/esi/corporation_orders.rb +5 -5
  59. data/lib/eve_online/esi/dogma_attribute.rb +7 -6
  60. data/lib/eve_online/esi/dogma_attributes.rb +3 -2
  61. data/lib/eve_online/esi/dogma_effect.rb +11 -11
  62. data/lib/eve_online/esi/dogma_effects.rb +3 -2
  63. data/lib/eve_online/esi/killmail.rb +30 -0
  64. data/lib/eve_online/esi/market_group.rb +39 -0
  65. data/lib/eve_online/esi/market_groups.rb +20 -0
  66. data/lib/eve_online/esi/market_history.rb +5 -4
  67. data/lib/eve_online/esi/market_prices.rb +27 -0
  68. data/lib/eve_online/esi/models/aggressor.rb +34 -0
  69. data/lib/eve_online/esi/models/alliance.rb +7 -7
  70. data/lib/eve_online/esi/models/alliance_icon.rb +2 -2
  71. data/lib/eve_online/esi/models/alliance_short.rb +2 -2
  72. data/lib/eve_online/esi/models/allies.rb +21 -0
  73. data/lib/eve_online/esi/models/ally.rb +24 -0
  74. data/lib/eve_online/esi/models/ancestry.rb +6 -6
  75. data/lib/eve_online/esi/models/asset.rb +8 -8
  76. data/lib/eve_online/esi/models/asset_location.rb +2 -2
  77. data/lib/eve_online/esi/models/asset_name.rb +2 -2
  78. data/lib/eve_online/esi/models/asteroid_belt.rb +3 -3
  79. data/lib/eve_online/esi/models/attributes.rb +8 -8
  80. data/lib/eve_online/esi/models/base.rb +2 -2
  81. data/lib/eve_online/esi/models/bloodline.rb +11 -11
  82. data/lib/eve_online/esi/models/blueprint.rb +8 -8
  83. data/lib/eve_online/esi/models/category.rb +4 -4
  84. data/lib/eve_online/esi/models/character.rb +12 -12
  85. data/lib/eve_online/esi/models/character_corporation_history.rb +4 -4
  86. data/lib/eve_online/esi/models/character_industry_job.rb +22 -22
  87. data/lib/eve_online/esi/models/character_location.rb +3 -3
  88. data/lib/eve_online/esi/models/character_order.rb +14 -14
  89. data/lib/eve_online/esi/models/character_portrait.rb +4 -4
  90. data/lib/eve_online/esi/models/character_ship.rb +3 -3
  91. data/lib/eve_online/esi/models/constellation.rb +5 -5
  92. data/lib/eve_online/esi/models/contract.rb +132 -0
  93. data/lib/eve_online/esi/models/coordinates.rb +3 -3
  94. data/lib/eve_online/esi/models/corporation.rb +14 -14
  95. data/lib/eve_online/esi/models/corporation_alliance_history.rb +4 -4
  96. data/lib/eve_online/esi/models/corporation_industry_job.rb +22 -22
  97. data/lib/eve_online/esi/models/corporation_order.rb +15 -15
  98. data/lib/eve_online/esi/models/defender.rb +34 -0
  99. data/lib/eve_online/esi/models/dogma_attribute.rb +10 -10
  100. data/lib/eve_online/esi/models/dogma_attribute_short.rb +2 -2
  101. data/lib/eve_online/esi/models/dogma_attributes.rb +1 -1
  102. data/lib/eve_online/esi/models/dogma_effect.rb +21 -21
  103. data/lib/eve_online/esi/models/dogma_effect_modifier.rb +6 -6
  104. data/lib/eve_online/esi/models/dogma_effect_modifiers.rb +1 -1
  105. data/lib/eve_online/esi/models/dogma_effect_short.rb +2 -2
  106. data/lib/eve_online/esi/models/dogma_effects.rb +1 -1
  107. data/lib/eve_online/esi/models/event.rb +5 -5
  108. data/lib/eve_online/esi/models/event_details.rb +10 -10
  109. data/lib/eve_online/esi/models/faction.rb +10 -10
  110. data/lib/eve_online/esi/models/fatigue.rb +3 -3
  111. data/lib/eve_online/esi/models/graphic.rb +8 -8
  112. data/lib/eve_online/esi/models/group.rb +5 -5
  113. data/lib/eve_online/esi/models/home_location.rb +2 -2
  114. data/lib/eve_online/esi/models/jump_clone.rb +5 -5
  115. data/lib/eve_online/esi/models/killmail.rb +47 -0
  116. data/lib/eve_online/esi/models/killmail_short.rb +2 -2
  117. data/lib/eve_online/esi/models/loyalty_point.rb +2 -2
  118. data/lib/eve_online/esi/models/loyalty_store_offer.rb +9 -8
  119. data/lib/eve_online/esi/models/mail.rb +49 -0
  120. data/lib/eve_online/esi/models/mail_label.rb +34 -0
  121. data/lib/eve_online/esi/models/mail_recipient.rb +24 -0
  122. data/lib/eve_online/esi/models/mail_recipients.rb +21 -0
  123. data/lib/eve_online/esi/models/market_group.rb +38 -0
  124. data/lib/eve_online/esi/models/market_history.rb +6 -6
  125. data/lib/eve_online/esi/models/market_price.rb +29 -0
  126. data/lib/eve_online/esi/models/moon.rb +4 -4
  127. data/lib/eve_online/esi/models/notification.rb +7 -7
  128. data/lib/eve_online/esi/models/offer_required_item.rb +24 -0
  129. data/lib/eve_online/esi/models/offer_required_items.rb +21 -0
  130. data/lib/eve_online/esi/models/online.rb +4 -4
  131. data/lib/eve_online/esi/models/planet.rb +5 -5
  132. data/lib/eve_online/esi/models/planet_short.rb +3 -3
  133. data/lib/eve_online/esi/models/position.rb +3 -3
  134. data/lib/eve_online/esi/models/race.rb +6 -6
  135. data/lib/eve_online/esi/models/region.rb +7 -8
  136. data/lib/eve_online/esi/models/server_status.rb +4 -4
  137. data/lib/eve_online/esi/models/skill.rb +4 -4
  138. data/lib/eve_online/esi/models/skill_queue_entry.rb +8 -8
  139. data/lib/eve_online/esi/models/standing.rb +3 -3
  140. data/lib/eve_online/esi/models/star.rb +8 -8
  141. data/lib/eve_online/esi/models/stargate.rb +14 -8
  142. data/lib/eve_online/esi/models/station.rb +12 -12
  143. data/lib/eve_online/esi/models/system.rb +10 -10
  144. data/lib/eve_online/esi/models/system_jump.rb +2 -2
  145. data/lib/eve_online/esi/models/system_kill.rb +4 -4
  146. data/lib/eve_online/esi/models/type.rb +16 -16
  147. data/lib/eve_online/esi/models/{wallet_journal_entry.rb → wallet_journal.rb} +16 -16
  148. data/lib/eve_online/esi/models/wallet_transaction.rb +66 -0
  149. data/lib/eve_online/esi/models/war.rb +69 -0
  150. data/lib/eve_online/esi/server_status.rb +4 -3
  151. data/lib/eve_online/esi/universe_ancestries.rb +4 -3
  152. data/lib/eve_online/esi/universe_asteroid_belt.rb +5 -4
  153. data/lib/eve_online/esi/universe_bloodlines.rb +4 -3
  154. data/lib/eve_online/esi/universe_categories.rb +3 -2
  155. data/lib/eve_online/esi/universe_category.rb +7 -6
  156. data/lib/eve_online/esi/universe_constellation.rb +7 -6
  157. data/lib/eve_online/esi/universe_constellations.rb +3 -2
  158. data/lib/eve_online/esi/universe_factions.rb +4 -3
  159. data/lib/eve_online/esi/universe_graphic.rb +7 -6
  160. data/lib/eve_online/esi/universe_graphics.rb +3 -2
  161. data/lib/eve_online/esi/universe_group.rb +7 -6
  162. data/lib/eve_online/esi/universe_groups.rb +4 -3
  163. data/lib/eve_online/esi/universe_moon.rb +5 -4
  164. data/lib/eve_online/esi/universe_planet.rb +6 -5
  165. data/lib/eve_online/esi/universe_races.rb +4 -3
  166. data/lib/eve_online/esi/universe_region.rb +8 -7
  167. data/lib/eve_online/esi/universe_regions.rb +3 -2
  168. data/lib/eve_online/esi/universe_star.rb +6 -6
  169. data/lib/eve_online/esi/universe_stargate.rb +6 -5
  170. data/lib/eve_online/esi/universe_station.rb +8 -7
  171. data/lib/eve_online/esi/universe_structures.rb +4 -3
  172. data/lib/eve_online/esi/universe_system.rb +8 -7
  173. data/lib/eve_online/esi/universe_system_jumps.rb +3 -2
  174. data/lib/eve_online/esi/universe_system_kills.rb +3 -2
  175. data/lib/eve_online/esi/universe_systems.rb +3 -2
  176. data/lib/eve_online/esi/universe_type.rb +9 -8
  177. data/lib/eve_online/esi/universe_types.rb +4 -3
  178. data/lib/eve_online/esi/war.rb +35 -0
  179. data/lib/eve_online/esi/war_killmails.rb +5 -4
  180. data/lib/eve_online/esi/wars.rb +4 -3
  181. data/lib/eve_online/exceptions/error_limited.rb +8 -0
  182. data/lib/eve_online/formulas/blueprint_copy_time.rb +47 -0
  183. data/lib/eve_online/version.rb +1 -1
  184. metadata +54 -27
  185. data/.rubocop-thread_safety.yml +0 -9
  186. data/.rubocop.yml +0 -14
  187. data/.rubocop_general.yml +0 -102
  188. data/.rubocop_rspec.yml +0 -65
  189. data/.rubocop_todo.yml +0 -0
  190. data/.travis.yml +0 -100
  191. data/gemfiles/activesupport_42.gemfile +0 -7
  192. data/gemfiles/activesupport_50.gemfile +0 -7
  193. data/gemfiles/activesupport_51.gemfile +0 -7
  194. data/gemfiles/activesupport_52.gemfile +0 -7
  195. data/gemfiles/activesupport_60.gemfile +0 -7
  196. data/gemfiles/activesupport_edge.gemfile +0 -7
  197. data/lib/eve_online/esi/character_bookmark_folders.rb +0 -41
  198. data/lib/eve_online/esi/models/bookmark.rb +0 -71
  199. data/lib/eve_online/esi/models/bookmark_folder.rb +0 -24
  200. data/lib/eve_online/esi/models/stargate_destination.rb +0 -24
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class Mail < Base
7
+ def as_json
8
+ {
9
+ body: body,
10
+ from_id: from_id,
11
+ read: read,
12
+ subject: subject,
13
+ timestamp: timestamp
14
+ }
15
+ end
16
+
17
+ def body
18
+ options["body"]
19
+ end
20
+
21
+ def from_id
22
+ options["from"]
23
+ end
24
+
25
+ def read
26
+ options["read"]
27
+ end
28
+
29
+ def subject
30
+ options["subject"]
31
+ end
32
+
33
+ def timestamp
34
+ timestamp = options["timestamp"]
35
+
36
+ parse_datetime_with_timezone(timestamp) if timestamp
37
+ end
38
+
39
+ def label_ids
40
+ options["labels"]
41
+ end
42
+
43
+ def recipients
44
+ @recipients ||= MailRecipients.new(options["recipients"]).mail_recipients
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class MailLabel < Base
7
+ def as_json
8
+ {
9
+ color: color,
10
+ label_id: label_id,
11
+ name: name,
12
+ unread_count: unread_count
13
+ }
14
+ end
15
+
16
+ def color
17
+ options["color"]
18
+ end
19
+
20
+ def label_id
21
+ options["label_id"]
22
+ end
23
+
24
+ def name
25
+ options["name"]
26
+ end
27
+
28
+ def unread_count
29
+ options["unread_count"]
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class MailRecipient < Base
7
+ def as_json
8
+ {
9
+ recipient_id: recipient_id,
10
+ recipient_type: recipient_type
11
+ }
12
+ end
13
+
14
+ def recipient_id
15
+ options["recipient_id"]
16
+ end
17
+
18
+ def recipient_type
19
+ options["recipient_type"]
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class MailRecipients < Base
7
+ def mail_recipients
8
+ output = []
9
+
10
+ return output unless options.is_a?(Array)
11
+
12
+ options.each do |mail_recipient|
13
+ output << MailRecipient.new(mail_recipient)
14
+ end
15
+
16
+ output
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class MarketGroup < Base
7
+ def as_json
8
+ {
9
+ description: description,
10
+ market_group_id: market_group_id,
11
+ name: name,
12
+ parent_group_id: parent_group_id
13
+ }
14
+ end
15
+
16
+ def description
17
+ options["description"]
18
+ end
19
+
20
+ def market_group_id
21
+ options["market_group_id"]
22
+ end
23
+
24
+ def name
25
+ options["name"]
26
+ end
27
+
28
+ def parent_group_id
29
+ options["parent_group_id"]
30
+ end
31
+
32
+ def type_ids
33
+ options["types"]
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -16,29 +16,29 @@ module EveOnline
16
16
  end
17
17
 
18
18
  def average
19
- options['average']
19
+ options["average"]
20
20
  end
21
21
 
22
22
  def date
23
- date = options['date']
23
+ date = options["date"]
24
24
 
25
25
  parse_datetime_with_timezone(date) if date
26
26
  end
27
27
 
28
28
  def highest
29
- options['highest']
29
+ options["highest"]
30
30
  end
31
31
 
32
32
  def lowest
33
- options['lowest']
33
+ options["lowest"]
34
34
  end
35
35
 
36
36
  def order_count
37
- options['order_count']
37
+ options["order_count"]
38
38
  end
39
39
 
40
40
  def volume
41
- options['volume']
41
+ options["volume"]
42
42
  end
43
43
  end
44
44
  end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class MarketPrice < Base
7
+ def as_json
8
+ {
9
+ adjusted_price: adjusted_price,
10
+ average_price: average_price,
11
+ type_id: type_id
12
+ }
13
+ end
14
+
15
+ def adjusted_price
16
+ options["adjusted_price"]
17
+ end
18
+
19
+ def average_price
20
+ options["average_price"]
21
+ end
22
+
23
+ def type_id
24
+ options["type_id"]
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -13,19 +13,19 @@ module EveOnline
13
13
  end
14
14
 
15
15
  def moon_id
16
- options['moon_id']
16
+ options["moon_id"]
17
17
  end
18
18
 
19
19
  def name
20
- options['name']
20
+ options["name"]
21
21
  end
22
22
 
23
23
  def system_id
24
- options['system_id']
24
+ options["system_id"]
25
25
  end
26
26
 
27
27
  def position
28
- @position ||= Position.new(options['position'])
28
+ @position ||= Position.new(options["position"])
29
29
  end
30
30
  end
31
31
  end
@@ -17,33 +17,33 @@ module EveOnline
17
17
  end
18
18
 
19
19
  def is_read
20
- options['is_read']
20
+ options["is_read"]
21
21
  end
22
22
 
23
23
  def notification_id
24
- options['notification_id']
24
+ options["notification_id"]
25
25
  end
26
26
 
27
27
  def sender_id
28
- options['sender_id']
28
+ options["sender_id"]
29
29
  end
30
30
 
31
31
  def sender_type
32
- options['sender_type']
32
+ options["sender_type"]
33
33
  end
34
34
 
35
35
  def text
36
- options['text']
36
+ options["text"]
37
37
  end
38
38
 
39
39
  def timestamp
40
- timestamp = options['timestamp']
40
+ timestamp = options["timestamp"]
41
41
 
42
42
  parse_datetime_with_timezone(timestamp) if timestamp
43
43
  end
44
44
 
45
45
  def type
46
- options['type']
46
+ options["type"]
47
47
  end
48
48
  end
49
49
  end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class OfferRequiredItem < Base
7
+ def as_json
8
+ {
9
+ quantity: quantity,
10
+ type_id: type_id
11
+ }
12
+ end
13
+
14
+ def quantity
15
+ options["quantity"]
16
+ end
17
+
18
+ def type_id
19
+ options["type_id"]
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class OfferRequiredItems < Base
7
+ def offer_required_items
8
+ output = []
9
+
10
+ return output unless options.is_a?(Array)
11
+
12
+ options.each do |offer_required_item|
13
+ output << OfferRequiredItem.new(offer_required_item)
14
+ end
15
+
16
+ output
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -14,23 +14,23 @@ module EveOnline
14
14
  end
15
15
 
16
16
  def last_login
17
- last_login = options['last_login']
17
+ last_login = options["last_login"]
18
18
 
19
19
  parse_datetime_with_timezone(last_login) if last_login
20
20
  end
21
21
 
22
22
  def last_logout
23
- last_logout = options['last_logout']
23
+ last_logout = options["last_logout"]
24
24
 
25
25
  parse_datetime_with_timezone(last_logout) if last_logout
26
26
  end
27
27
 
28
28
  def logins
29
- options['logins']
29
+ options["logins"]
30
30
  end
31
31
 
32
32
  def online
33
- options['online']
33
+ options["online"]
34
34
  end
35
35
  end
36
36
  end
@@ -14,23 +14,23 @@ module EveOnline
14
14
  end
15
15
 
16
16
  def name
17
- options['name']
17
+ options["name"]
18
18
  end
19
19
 
20
20
  def planet_id
21
- options['planet_id']
21
+ options["planet_id"]
22
22
  end
23
23
 
24
24
  def system_id
25
- options['system_id']
25
+ options["system_id"]
26
26
  end
27
27
 
28
28
  def type_id
29
- options['type_id']
29
+ options["type_id"]
30
30
  end
31
31
 
32
32
  def position
33
- @position ||= Position.new(options['position'])
33
+ @position ||= Position.new(options["position"])
34
34
  end
35
35
  end
36
36
  end
@@ -11,15 +11,15 @@ module EveOnline
11
11
  end
12
12
 
13
13
  def planet_id
14
- options['planet_id']
14
+ options["planet_id"]
15
15
  end
16
16
 
17
17
  def asteroid_belt_ids
18
- options.fetch('asteroid_belts', [])
18
+ options.fetch("asteroid_belts", [])
19
19
  end
20
20
 
21
21
  def moon_ids
22
- options.fetch('moons', [])
22
+ options.fetch("moons", [])
23
23
  end
24
24
  end
25
25
  end
@@ -13,15 +13,15 @@ module EveOnline
13
13
  end
14
14
 
15
15
  def x
16
- options['x']
16
+ options["x"]
17
17
  end
18
18
 
19
19
  def y
20
- options['y']
20
+ options["y"]
21
21
  end
22
22
 
23
23
  def z
24
- options['z']
24
+ options["z"]
25
25
  end
26
26
  end
27
27
  end