eve_online 0.30.0 → 0.35.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +18 -54
  3. data/.deepsource.toml +5 -0
  4. data/.ruby-version +1 -1
  5. data/Appraisals +0 -12
  6. data/CHANGELOG.md +58 -0
  7. data/Gemfile.lock +57 -53
  8. data/Gemfile.mutant.lock +49 -50
  9. data/README.md +401 -133
  10. data/eve_online.gemspec +3 -3
  11. data/lib/eve_online.rb +40 -7
  12. data/lib/eve_online/esi/alliance_corporations.rb +1 -1
  13. data/lib/eve_online/esi/alliances.rb +1 -1
  14. data/lib/eve_online/esi/base.rb +15 -6
  15. data/lib/eve_online/esi/character_assets.rb +1 -1
  16. data/lib/eve_online/esi/character_calendar.rb +1 -1
  17. data/lib/eve_online/esi/character_calendar_event.rb +1 -1
  18. data/lib/eve_online/esi/{character_bookmarks.rb → character_contracts.rb} +7 -7
  19. data/lib/eve_online/esi/character_get_mail.rb +37 -0
  20. data/lib/eve_online/esi/character_location.rb +1 -1
  21. data/lib/eve_online/esi/character_mail_labels.rb +40 -0
  22. data/lib/eve_online/esi/character_online.rb +1 -1
  23. data/lib/eve_online/esi/character_ship.rb +1 -1
  24. data/lib/eve_online/esi/character_skills.rb +1 -1
  25. data/lib/eve_online/esi/character_wallet.rb +1 -1
  26. data/lib/eve_online/esi/character_wallet_journal.rb +2 -2
  27. data/lib/eve_online/esi/character_wallet_transactions.rb +41 -0
  28. data/lib/eve_online/esi/corporation_assets.rb +1 -1
  29. data/lib/eve_online/esi/corporation_npc.rb +20 -0
  30. data/lib/eve_online/esi/killmail.rb +30 -0
  31. data/lib/eve_online/esi/market_prices.rb +27 -0
  32. data/lib/eve_online/esi/models/aggressor.rb +1 -1
  33. data/lib/eve_online/esi/models/alliance.rb +1 -1
  34. data/lib/eve_online/esi/models/alliance_icon.rb +1 -1
  35. data/lib/eve_online/esi/models/alliance_short.rb +1 -1
  36. data/lib/eve_online/esi/models/ally.rb +1 -1
  37. data/lib/eve_online/esi/models/ancestry.rb +1 -1
  38. data/lib/eve_online/esi/models/asset.rb +1 -1
  39. data/lib/eve_online/esi/models/asset_location.rb +1 -1
  40. data/lib/eve_online/esi/models/asset_name.rb +1 -1
  41. data/lib/eve_online/esi/models/asteroid_belt.rb +1 -1
  42. data/lib/eve_online/esi/models/attributes.rb +1 -1
  43. data/lib/eve_online/esi/models/bloodline.rb +1 -1
  44. data/lib/eve_online/esi/models/blueprint.rb +1 -1
  45. data/lib/eve_online/esi/models/category.rb +1 -1
  46. data/lib/eve_online/esi/models/character.rb +1 -1
  47. data/lib/eve_online/esi/models/character_corporation_history.rb +1 -1
  48. data/lib/eve_online/esi/models/character_industry_job.rb +1 -1
  49. data/lib/eve_online/esi/models/character_location.rb +1 -1
  50. data/lib/eve_online/esi/models/character_order.rb +1 -1
  51. data/lib/eve_online/esi/models/character_portrait.rb +1 -1
  52. data/lib/eve_online/esi/models/character_ship.rb +1 -1
  53. data/lib/eve_online/esi/models/constellation.rb +1 -1
  54. data/lib/eve_online/esi/models/contract.rb +132 -0
  55. data/lib/eve_online/esi/models/coordinates.rb +1 -1
  56. data/lib/eve_online/esi/models/corporation.rb +1 -1
  57. data/lib/eve_online/esi/models/corporation_alliance_history.rb +1 -1
  58. data/lib/eve_online/esi/models/corporation_industry_job.rb +1 -1
  59. data/lib/eve_online/esi/models/corporation_order.rb +1 -1
  60. data/lib/eve_online/esi/models/defender.rb +1 -1
  61. data/lib/eve_online/esi/models/dogma_attribute.rb +1 -1
  62. data/lib/eve_online/esi/models/dogma_attribute_short.rb +1 -1
  63. data/lib/eve_online/esi/models/dogma_effect.rb +1 -1
  64. data/lib/eve_online/esi/models/dogma_effect_modifier.rb +1 -1
  65. data/lib/eve_online/esi/models/dogma_effect_short.rb +1 -1
  66. data/lib/eve_online/esi/models/event.rb +1 -1
  67. data/lib/eve_online/esi/models/event_details.rb +1 -1
  68. data/lib/eve_online/esi/models/faction.rb +1 -1
  69. data/lib/eve_online/esi/models/fatigue.rb +1 -1
  70. data/lib/eve_online/esi/models/graphic.rb +1 -1
  71. data/lib/eve_online/esi/models/group.rb +1 -1
  72. data/lib/eve_online/esi/models/home_location.rb +1 -1
  73. data/lib/eve_online/esi/models/jump_clone.rb +1 -1
  74. data/lib/eve_online/esi/models/killmail.rb +47 -0
  75. data/lib/eve_online/esi/models/killmail_short.rb +1 -1
  76. data/lib/eve_online/esi/models/loyalty_point.rb +1 -1
  77. data/lib/eve_online/esi/models/loyalty_store_offer.rb +1 -1
  78. data/lib/eve_online/esi/models/mail.rb +49 -0
  79. data/lib/eve_online/esi/models/mail_label.rb +34 -0
  80. data/lib/eve_online/esi/models/mail_recipient.rb +24 -0
  81. data/lib/eve_online/esi/models/mail_recipients.rb +21 -0
  82. data/lib/eve_online/esi/models/market_group.rb +1 -1
  83. data/lib/eve_online/esi/models/market_history.rb +1 -1
  84. data/lib/eve_online/esi/models/market_price.rb +29 -0
  85. data/lib/eve_online/esi/models/moon.rb +1 -1
  86. data/lib/eve_online/esi/models/notification.rb +1 -1
  87. data/lib/eve_online/esi/models/offer_required_item.rb +1 -1
  88. data/lib/eve_online/esi/models/online.rb +1 -1
  89. data/lib/eve_online/esi/models/planet.rb +1 -1
  90. data/lib/eve_online/esi/models/planet_short.rb +1 -1
  91. data/lib/eve_online/esi/models/position.rb +1 -1
  92. data/lib/eve_online/esi/models/public_contract.rb +98 -0
  93. data/lib/eve_online/esi/models/public_contract_item.rb +59 -0
  94. data/lib/eve_online/esi/models/race.rb +3 -3
  95. data/lib/eve_online/esi/models/region.rb +5 -6
  96. data/lib/eve_online/esi/models/server_status.rb +1 -1
  97. data/lib/eve_online/esi/models/skill.rb +1 -1
  98. data/lib/eve_online/esi/models/skill_queue_entry.rb +1 -1
  99. data/lib/eve_online/esi/models/standing.rb +1 -1
  100. data/lib/eve_online/esi/models/star.rb +1 -1
  101. data/lib/eve_online/esi/models/stargate.rb +8 -2
  102. data/lib/eve_online/esi/models/station.rb +1 -1
  103. data/lib/eve_online/esi/models/system.rb +1 -1
  104. data/lib/eve_online/esi/models/system_jump.rb +1 -1
  105. data/lib/eve_online/esi/models/system_kill.rb +1 -1
  106. data/lib/eve_online/esi/models/type.rb +1 -1
  107. data/lib/eve_online/esi/models/{wallet_journal_entry.rb → wallet_journal.rb} +4 -4
  108. data/lib/eve_online/esi/models/wallet_transaction.rb +66 -0
  109. data/lib/eve_online/esi/models/war.rb +1 -1
  110. data/lib/eve_online/esi/public_contract.rb +40 -0
  111. data/lib/eve_online/esi/public_contracts.rb +40 -0
  112. data/lib/eve_online/esi/universe_region.rb +2 -2
  113. data/lib/eve_online/esi/universe_stargate.rb +1 -1
  114. data/lib/eve_online/exceptions/error_limited.rb +8 -0
  115. data/lib/eve_online/formulas/blueprint_copy_time.rb +47 -0
  116. data/lib/eve_online/version.rb +1 -1
  117. metadata +32 -15
  118. data/lib/eve_online/esi/character_bookmark_folders.rb +0 -41
  119. data/lib/eve_online/esi/models/bookmark.rb +0 -71
  120. data/lib/eve_online/esi/models/bookmark_folder.rb +0 -24
  121. data/lib/eve_online/esi/models/stargate_destination.rb +0 -24
@@ -12,7 +12,7 @@ module EveOnline
12
12
  sender_type: sender_type,
13
13
  text: text,
14
14
  timestamp: timestamp,
15
- type: type,
15
+ type: type
16
16
  }
17
17
  end
18
18
 
@@ -7,7 +7,7 @@ module EveOnline
7
7
  def as_json
8
8
  {
9
9
  quantity: quantity,
10
- type_id: type_id,
10
+ type_id: type_id
11
11
  }
12
12
  end
13
13
 
@@ -9,7 +9,7 @@ module EveOnline
9
9
  last_login: last_login,
10
10
  last_logout: last_logout,
11
11
  logins: logins,
12
- online: online,
12
+ online: online
13
13
  }
14
14
  end
15
15
 
@@ -9,7 +9,7 @@ module EveOnline
9
9
  name: name,
10
10
  planet_id: planet_id,
11
11
  system_id: system_id,
12
- type_id: type_id,
12
+ type_id: type_id
13
13
  }
14
14
  end
15
15
 
@@ -6,7 +6,7 @@ module EveOnline
6
6
  class PlanetShort < Base
7
7
  def as_json
8
8
  {
9
- planet_id: planet_id,
9
+ planet_id: planet_id
10
10
  }
11
11
  end
12
12
 
@@ -8,7 +8,7 @@ module EveOnline
8
8
  {
9
9
  x: x,
10
10
  y: y,
11
- z: z,
11
+ z: z
12
12
  }
13
13
  end
14
14
 
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class PublicContract < Base
7
+ def as_json
8
+ {
9
+ buyout: buyout,
10
+ collateral: collateral,
11
+ contract_id: contract_id,
12
+ date_expired: date_expired,
13
+ date_issued: date_issued,
14
+ days_to_complete: days_to_complete,
15
+ end_location_id: end_location_id,
16
+ for_corporation: for_corporation,
17
+ issuer_corporation_id: issuer_corporation_id,
18
+ issuer_id: issuer_id,
19
+ price: price,
20
+ reward: reward,
21
+ start_location_id: start_location_id,
22
+ title: title,
23
+ type: type,
24
+ volume: volume
25
+ }
26
+ end
27
+
28
+ def buyout
29
+ options["buyout"]
30
+ end
31
+
32
+ def collateral
33
+ options["collateral"]
34
+ end
35
+
36
+ def contract_id
37
+ options["contract_id"]
38
+ end
39
+
40
+ def date_expired
41
+ date_expired = options["date_expired"]
42
+
43
+ parse_datetime_with_timezone(date_expired) if date_expired
44
+ end
45
+
46
+ def date_issued
47
+ date_issued = options["date_issued"]
48
+
49
+ parse_datetime_with_timezone(date_issued) if date_issued
50
+ end
51
+
52
+ def days_to_complete
53
+ options["days_to_complete"]
54
+ end
55
+
56
+ def end_location_id
57
+ options["end_location_id"]
58
+ end
59
+
60
+ def for_corporation
61
+ options["for_corporation"]
62
+ end
63
+
64
+ def issuer_corporation_id
65
+ options["issuer_corporation_id"]
66
+ end
67
+
68
+ def issuer_id
69
+ options["issuer_id"]
70
+ end
71
+
72
+ def price
73
+ options["price"]
74
+ end
75
+
76
+ def reward
77
+ options["reward"]
78
+ end
79
+
80
+ def start_location_id
81
+ options["start_location_id"]
82
+ end
83
+
84
+ def title
85
+ options["title"]
86
+ end
87
+
88
+ def type
89
+ options["type"]
90
+ end
91
+
92
+ def volume
93
+ options["volume"]
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class PublicContractItem < Base
7
+ def as_json
8
+ {
9
+ is_blueprint_copy: is_blueprint_copy,
10
+ is_included: is_included,
11
+ item_id: item_id,
12
+ material_efficiency: material_efficiency,
13
+ quantity: quantity,
14
+ record_id: record_id,
15
+ runs: runs,
16
+ time_efficiency: time_efficiency,
17
+ type_id: type_id
18
+ }
19
+ end
20
+
21
+ def is_blueprint_copy
22
+ options["is_blueprint_copy"]
23
+ end
24
+
25
+ def is_included
26
+ options["is_included"]
27
+ end
28
+
29
+ def item_id
30
+ options["item_id"]
31
+ end
32
+
33
+ def material_efficiency
34
+ options["material_efficiency"]
35
+ end
36
+
37
+ def quantity
38
+ options["quantity"]
39
+ end
40
+
41
+ def record_id
42
+ options["record_id"]
43
+ end
44
+
45
+ def runs
46
+ options["runs"]
47
+ end
48
+
49
+ def time_efficiency
50
+ options["time_efficiency"]
51
+ end
52
+
53
+ def type_id
54
+ options["type_id"]
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -6,14 +6,14 @@ module EveOnline
6
6
  class Race < Base
7
7
  def as_json
8
8
  {
9
- alliance_id: alliance_id,
9
+ faction_id: faction_id,
10
10
  description: description,
11
11
  name: name,
12
- race_id: race_id,
12
+ race_id: race_id
13
13
  }
14
14
  end
15
15
 
16
- def alliance_id
16
+ def faction_id
17
17
  options["alliance_id"]
18
18
  end
19
19
 
@@ -6,17 +6,12 @@ module EveOnline
6
6
  class Region < Base
7
7
  def as_json
8
8
  {
9
- constellations: constellations, # TODO: rename constellations -> constellation_ids and remove from as_json
10
9
  description: description,
11
10
  name: name,
12
- region_id: region_id,
11
+ region_id: region_id
13
12
  }
14
13
  end
15
14
 
16
- def constellations
17
- options["constellations"]
18
- end
19
-
20
15
  def description
21
16
  options["description"]
22
17
  end
@@ -28,6 +23,10 @@ module EveOnline
28
23
  def region_id
29
24
  options["region_id"]
30
25
  end
26
+
27
+ def constellation_ids
28
+ options["constellations"]
29
+ end
31
30
  end
32
31
  end
33
32
  end
@@ -9,7 +9,7 @@ module EveOnline
9
9
  players: players,
10
10
  server_version: server_version,
11
11
  start_time: start_time,
12
- vip: vip,
12
+ vip: vip
13
13
  }
14
14
  end
15
15
 
@@ -9,7 +9,7 @@ module EveOnline
9
9
  active_skill_level: active_skill_level,
10
10
  skill_id: skill_id,
11
11
  skillpoints_in_skill: skillpoints_in_skill,
12
- trained_skill_level: trained_skill_level,
12
+ trained_skill_level: trained_skill_level
13
13
  }
14
14
  end
15
15
 
@@ -13,7 +13,7 @@ module EveOnline
13
13
  queue_position: queue_position,
14
14
  skill_id: skill_id,
15
15
  start_date: start_date,
16
- training_start_sp: training_start_sp,
16
+ training_start_sp: training_start_sp
17
17
  }
18
18
  end
19
19
 
@@ -8,7 +8,7 @@ module EveOnline
8
8
  {
9
9
  from_id: from_id,
10
10
  from_type: from_type,
11
- standing: standing,
11
+ standing: standing
12
12
  }
13
13
  end
14
14
 
@@ -13,7 +13,7 @@ module EveOnline
13
13
  solar_system_id: solar_system_id,
14
14
  spectral_class: spectral_class,
15
15
  temperature: temperature,
16
- type_id: type_id,
16
+ type_id: type_id
17
17
  }
18
18
  end
19
19
 
@@ -10,6 +10,8 @@ module EveOnline
10
10
  stargate_id: stargate_id,
11
11
  system_id: system_id,
12
12
  type_id: type_id,
13
+ destination_stargate_id: destination_stargate_id,
14
+ destination_system_id: destination_system_id
13
15
  }
14
16
  end
15
17
 
@@ -29,8 +31,12 @@ module EveOnline
29
31
  options["type_id"]
30
32
  end
31
33
 
32
- def destination
33
- @destination ||= StargateDestination.new(options["destination"])
34
+ def destination_stargate_id
35
+ options.dig("destination", "stargate_id")
36
+ end
37
+
38
+ def destination_system_id
39
+ options.dig("destination", "system_id")
34
40
  end
35
41
 
36
42
  def position
@@ -16,7 +16,7 @@ module EveOnline
16
16
  services: services,
17
17
  station_id: station_id,
18
18
  system_id: system_id,
19
- type_id: type_id,
19
+ type_id: type_id
20
20
  }
21
21
  end
22
22
 
@@ -11,7 +11,7 @@ module EveOnline
11
11
  security_class: security_class,
12
12
  security_status: security_status,
13
13
  star_id: star_id,
14
- system_id: system_id,
14
+ system_id: system_id
15
15
  }
16
16
  end
17
17
 
@@ -7,7 +7,7 @@ module EveOnline
7
7
  def as_json
8
8
  {
9
9
  ship_jumps: ship_jumps,
10
- system_id: system_id,
10
+ system_id: system_id
11
11
  }
12
12
  end
13
13
 
@@ -9,7 +9,7 @@ module EveOnline
9
9
  npc_kills: npc_kills,
10
10
  pod_kills: pod_kills,
11
11
  ship_kills: ship_kills,
12
- system_id: system_id,
12
+ system_id: system_id
13
13
  }
14
14
  end
15
15
 
@@ -19,7 +19,7 @@ module EveOnline
19
19
  published: published,
20
20
  radius: radius,
21
21
  type_id: type_id,
22
- volume: volume,
22
+ volume: volume
23
23
  }
24
24
  end
25
25
 
@@ -3,7 +3,7 @@
3
3
  module EveOnline
4
4
  module ESI
5
5
  module Models
6
- class WalletJournalEntry < Base
6
+ class WalletJournal < Base
7
7
  def as_json
8
8
  {
9
9
  amount: amount,
@@ -13,12 +13,12 @@ module EveOnline
13
13
  date: date,
14
14
  description: description,
15
15
  first_party_id: first_party_id,
16
- id: id,
16
+ wallet_journal_id: wallet_journal_id,
17
17
  reason: reason,
18
18
  ref_type: ref_type,
19
19
  second_party_id: second_party_id,
20
20
  tax: tax,
21
- tax_receiver_id: tax_receiver_id,
21
+ tax_receiver_id: tax_receiver_id
22
22
  }
23
23
  end
24
24
 
@@ -52,7 +52,7 @@ module EveOnline
52
52
  options["first_party_id"]
53
53
  end
54
54
 
55
- def id
55
+ def wallet_journal_id
56
56
  options["id"]
57
57
  end
58
58
 
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class WalletTransaction < Base
7
+ def as_json
8
+ {
9
+ client_id: client_id,
10
+ date: date,
11
+ is_buy: is_buy,
12
+ is_personal: is_personal,
13
+ journal_ref_id: journal_ref_id,
14
+ location_id: location_id,
15
+ quantity: quantity,
16
+ transaction_id: transaction_id,
17
+ type_id: type_id,
18
+ unit_price: unit_price
19
+ }
20
+ end
21
+
22
+ def client_id
23
+ options["client_id"]
24
+ end
25
+
26
+ def date
27
+ date = options["date"]
28
+
29
+ parse_datetime_with_timezone(date) if date
30
+ end
31
+
32
+ def is_buy
33
+ options["is_buy"]
34
+ end
35
+
36
+ def is_personal
37
+ options["is_personal"]
38
+ end
39
+
40
+ def journal_ref_id
41
+ options["journal_ref_id"]
42
+ end
43
+
44
+ def location_id
45
+ options["location_id"]
46
+ end
47
+
48
+ def quantity
49
+ options["quantity"]
50
+ end
51
+
52
+ def transaction_id
53
+ options["transaction_id"]
54
+ end
55
+
56
+ def type_id
57
+ options["type_id"]
58
+ end
59
+
60
+ def unit_price
61
+ options["unit_price"]
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end