eve_online 0.19.0 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
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