eve_online 0.19.0 → 0.20.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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +5 -5
  4. data/CHANGELOG.md +34 -0
  5. data/Gemfile.lock +6 -6
  6. data/README.md +410 -14
  7. data/lib/eve_online.rb +31 -0
  8. data/lib/eve_online/esi/alliance.rb +1 -2
  9. data/lib/eve_online/esi/alliance_icon.rb +1 -2
  10. data/lib/eve_online/esi/models/asteroid_belt.rb +28 -0
  11. data/lib/eve_online/esi/models/category.rb +33 -0
  12. data/lib/eve_online/esi/models/graphic.rb +54 -0
  13. data/lib/eve_online/esi/models/group.rb +38 -0
  14. data/lib/eve_online/esi/models/moon.rb +33 -0
  15. data/lib/eve_online/esi/models/planet.rb +38 -0
  16. data/lib/eve_online/esi/models/planet_short.rb +27 -0
  17. data/lib/eve_online/esi/models/planets.rb +19 -0
  18. data/lib/eve_online/esi/models/star.rb +54 -0
  19. data/lib/eve_online/esi/models/stargate.rb +42 -0
  20. data/lib/eve_online/esi/models/stargate_destination.rb +24 -0
  21. data/lib/eve_online/esi/models/station.rb +73 -0
  22. data/lib/eve_online/esi/models/system.rb +60 -0
  23. data/lib/eve_online/esi/models/system_jump.rb +24 -0
  24. data/lib/eve_online/esi/models/system_kill.rb +34 -0
  25. data/lib/eve_online/esi/universe_asteroid_belt.rb +33 -0
  26. data/lib/eve_online/esi/universe_categories.rb +19 -0
  27. data/lib/eve_online/esi/universe_category.rb +34 -0
  28. data/lib/eve_online/esi/universe_graphic.rb +35 -0
  29. data/lib/eve_online/esi/universe_graphics.rb +19 -0
  30. data/lib/eve_online/esi/universe_group.rb +34 -0
  31. data/lib/eve_online/esi/universe_groups.rb +27 -0
  32. data/lib/eve_online/esi/universe_moon.rb +33 -0
  33. data/lib/eve_online/esi/universe_planet.rb +34 -0
  34. data/lib/eve_online/esi/universe_star.rb +35 -0
  35. data/lib/eve_online/esi/universe_stargate.rb +35 -0
  36. data/lib/eve_online/esi/universe_station.rb +37 -0
  37. data/lib/eve_online/esi/universe_structures.rb +19 -0
  38. data/lib/eve_online/esi/universe_system.rb +35 -0
  39. data/lib/eve_online/esi/universe_system_jumps.rb +24 -0
  40. data/lib/eve_online/esi/universe_system_kills.rb +24 -0
  41. data/lib/eve_online/version.rb +1 -1
  42. metadata +33 -2
data/lib/eve_online.rb CHANGED
@@ -72,14 +72,30 @@ require 'eve_online/esi/character_skills'
72
72
  require 'eve_online/esi/server_status'
73
73
 
74
74
  require 'eve_online/esi/ancestries'
75
+ require 'eve_online/esi/universe_asteroid_belt'
75
76
  require 'eve_online/esi/bloodlines'
77
+ require 'eve_online/esi/universe_categories'
78
+ require 'eve_online/esi/universe_category'
76
79
  require 'eve_online/esi/universe_constellations'
77
80
  require 'eve_online/esi/universe_constellation'
78
81
  require 'eve_online/esi/factions'
82
+ require 'eve_online/esi/universe_graphics'
83
+ require 'eve_online/esi/universe_graphic'
84
+ require 'eve_online/esi/universe_groups'
85
+ require 'eve_online/esi/universe_group'
86
+ require 'eve_online/esi/universe_planet'
87
+ require 'eve_online/esi/universe_moon'
79
88
  require 'eve_online/esi/races'
80
89
  require 'eve_online/esi/universe_regions'
81
90
  require 'eve_online/esi/universe_region'
91
+ require 'eve_online/esi/universe_stargate'
92
+ require 'eve_online/esi/universe_star'
93
+ require 'eve_online/esi/universe_station'
94
+ require 'eve_online/esi/universe_structures'
95
+ require 'eve_online/esi/universe_system_jumps'
96
+ require 'eve_online/esi/universe_system_kills'
82
97
  require 'eve_online/esi/universe_systems'
98
+ require 'eve_online/esi/universe_system'
83
99
  require 'eve_online/esi/universe_types'
84
100
  require 'eve_online/esi/universe_type'
85
101
 
@@ -144,6 +160,21 @@ require 'eve_online/esi/models/faction'
144
160
  require 'eve_online/esi/models/ancestry'
145
161
  require 'eve_online/esi/models/region'
146
162
  require 'eve_online/esi/models/constellation'
163
+ require 'eve_online/esi/models/category'
164
+ require 'eve_online/esi/models/group'
165
+ require 'eve_online/esi/models/graphic'
166
+ require 'eve_online/esi/models/system'
167
+ require 'eve_online/esi/models/planet_short'
168
+ require 'eve_online/esi/models/planets'
169
+ require 'eve_online/esi/models/planet'
170
+ require 'eve_online/esi/models/asteroid_belt'
171
+ require 'eve_online/esi/models/moon'
172
+ require 'eve_online/esi/models/system_jump'
173
+ require 'eve_online/esi/models/system_kill'
174
+ require 'eve_online/esi/models/stargate_destination'
175
+ require 'eve_online/esi/models/stargate'
176
+ require 'eve_online/esi/models/star'
177
+ require 'eve_online/esi/models/station'
147
178
 
148
179
  require 'eve_online/esi/models/killmail_short'
149
180
 
@@ -22,9 +22,8 @@ module EveOnline
22
22
  :name, :ticker
23
23
 
24
24
  def model
25
- Models::Alliance.new(response)
25
+ @model ||= Models::Alliance.new(response)
26
26
  end
27
- memoize :model
28
27
 
29
28
  def scope; end
30
29
 
@@ -20,9 +20,8 @@ module EveOnline
20
20
  def_delegators :model, :as_json, :icon_small, :icon_medium
21
21
 
22
22
  def model
23
- Models::AllianceIcon.new(response)
23
+ @model ||= Models::AllianceIcon.new(response)
24
24
  end
25
- memoize :model
26
25
 
27
26
  def scope; end
28
27
 
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class AsteroidBelt < Base
7
+ def as_json
8
+ {
9
+ name: name,
10
+ system_id: system_id
11
+ }
12
+ end
13
+
14
+ def name
15
+ options['name']
16
+ end
17
+
18
+ def system_id
19
+ options['system_id']
20
+ end
21
+
22
+ def position
23
+ @position ||= Position.new(options['position'])
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class Category < Base
7
+ def as_json
8
+ {
9
+ category_id: category_id,
10
+ name: name,
11
+ published: published
12
+ }
13
+ end
14
+
15
+ def category_id
16
+ options['category_id']
17
+ end
18
+
19
+ def name
20
+ options['name']
21
+ end
22
+
23
+ def published
24
+ options['published']
25
+ end
26
+
27
+ def group_ids
28
+ options['groups']
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class Graphic < Base
7
+ def as_json
8
+ {
9
+ collision_file: collision_file,
10
+ graphic_file: graphic_file,
11
+ graphic_id: graphic_id,
12
+ icon_folder: icon_folder,
13
+ sof_dna: sof_dna,
14
+ sof_fation_name: sof_fation_name,
15
+ sof_hull_name: sof_hull_name,
16
+ sof_race_name: sof_race_name
17
+ }
18
+ end
19
+
20
+ def collision_file
21
+ options['collision_file']
22
+ end
23
+
24
+ def graphic_file
25
+ options['graphic_file']
26
+ end
27
+
28
+ def graphic_id
29
+ options['graphic_id']
30
+ end
31
+
32
+ def icon_folder
33
+ options['icon_folder']
34
+ end
35
+
36
+ def sof_dna
37
+ options['sof_dna']
38
+ end
39
+
40
+ def sof_fation_name
41
+ options['sof_fation_name']
42
+ end
43
+
44
+ def sof_hull_name
45
+ options['sof_hull_name']
46
+ end
47
+
48
+ def sof_race_name
49
+ options['sof_race_name']
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class Group < Base
7
+ def as_json
8
+ {
9
+ category_id: category_id,
10
+ group_id: group_id,
11
+ name: name,
12
+ published: published
13
+ }
14
+ end
15
+
16
+ def category_id
17
+ options['category_id']
18
+ end
19
+
20
+ def group_id
21
+ options['group_id']
22
+ end
23
+
24
+ def name
25
+ options['name']
26
+ end
27
+
28
+ def published
29
+ options['published']
30
+ end
31
+
32
+ def type_ids
33
+ options['types']
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class Moon < Base
7
+ def as_json
8
+ {
9
+ moon_id: moon_id,
10
+ name: name,
11
+ system_id: system_id
12
+ }
13
+ end
14
+
15
+ def moon_id
16
+ options['moon_id']
17
+ end
18
+
19
+ def name
20
+ options['name']
21
+ end
22
+
23
+ def system_id
24
+ options['system_id']
25
+ end
26
+
27
+ def position
28
+ @position ||= Position.new(options['position'])
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class Planet < Base
7
+ def as_json
8
+ {
9
+ name: name,
10
+ planet_id: planet_id,
11
+ system_id: system_id,
12
+ type_id: type_id
13
+ }
14
+ end
15
+
16
+ def name
17
+ options['name']
18
+ end
19
+
20
+ def planet_id
21
+ options['planet_id']
22
+ end
23
+
24
+ def system_id
25
+ options['system_id']
26
+ end
27
+
28
+ def type_id
29
+ options['type_id']
30
+ end
31
+
32
+ def position
33
+ @position ||= Position.new(options['position'])
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class PlanetShort < Base
7
+ def as_json
8
+ {
9
+ planet_id: planet_id
10
+ }
11
+ end
12
+
13
+ def planet_id
14
+ options['planet_id']
15
+ end
16
+
17
+ def asteroid_belt_ids
18
+ options.fetch('asteroid_belts', [])
19
+ end
20
+
21
+ def moon_ids
22
+ options.fetch('moons', [])
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class Planets < Base
7
+ def planets
8
+ output = []
9
+
10
+ options.each do |planet_short|
11
+ output << PlanetShort.new(planet_short)
12
+ end
13
+
14
+ output
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class Star < Base
7
+ def as_json
8
+ {
9
+ age: age,
10
+ luminosity: luminosity,
11
+ name: name,
12
+ radius: radius,
13
+ solar_system_id: solar_system_id,
14
+ spectral_class: spectral_class,
15
+ temperature: temperature,
16
+ type_id: type_id
17
+ }
18
+ end
19
+
20
+ def age
21
+ options['age']
22
+ end
23
+
24
+ def luminosity
25
+ options['luminosity']
26
+ end
27
+
28
+ def name
29
+ options['name']
30
+ end
31
+
32
+ def radius
33
+ options['radius']
34
+ end
35
+
36
+ def solar_system_id
37
+ options['solar_system_id']
38
+ end
39
+
40
+ def spectral_class
41
+ options['spectral_class']
42
+ end
43
+
44
+ def temperature
45
+ options['temperature']
46
+ end
47
+
48
+ def type_id
49
+ options['type_id']
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EveOnline
4
+ module ESI
5
+ module Models
6
+ class Stargate < Base
7
+ def as_json
8
+ {
9
+ name: name,
10
+ stargate_id: stargate_id,
11
+ system_id: system_id,
12
+ type_id: type_id
13
+ }
14
+ end
15
+
16
+ def name
17
+ options['name']
18
+ end
19
+
20
+ def stargate_id
21
+ options['stargate_id']
22
+ end
23
+
24
+ def system_id
25
+ options['system_id']
26
+ end
27
+
28
+ def type_id
29
+ options['type_id']
30
+ end
31
+
32
+ def destination
33
+ @destination ||= StargateDestination.new(options['destination'])
34
+ end
35
+
36
+ def position
37
+ @position ||= Position.new(options['position'])
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end