sw_info 1.0.1 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sw_info.rb +130 -142
  3. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c0f700fa6fb687bfbbb892881502ee6c28b7662a0f369d4020e945b777667256
4
- data.tar.gz: 7f473129b073069d3eadc7a42d7a128cc07b2f84d23a89c1c030fde001f84803
3
+ metadata.gz: 0c09bae496651501ac197952b8107ea66de17ae4b0fe5037143431bcab31dae9
4
+ data.tar.gz: e17c9b49e748526488921480958ff094e15509ee9aba2d18eefbcd00dacdcd4c
5
5
  SHA512:
6
- metadata.gz: 90d5e29159dceb3ea11afd05d9b1c4b36126f483404845fc03d8a5b297665195248451b1a57e846032d71cfcd3f2f621fdf166943b24b803e7c476c9b81dac3e
7
- data.tar.gz: 1b420bcfced2ef32b0a77da1a425cf77fc8e5703e6edf1ff861bdfb496f2110d812a7da1c338660dfd8fd03615b2b2129a88ba04451e18448d8a949585873418
6
+ metadata.gz: 64bb54ca669c74bb54f78481eacf806f90bb7d4d9ec203b60fe36f3246d02379883e69bb784a6540e19d1dbdde31629375c42137be8416b295c8895151963ce6
7
+ data.tar.gz: f990126f1562a53f0c656aa5c72c8b7cfbce29d5c2c3546d24dbaf77526e3cd1a427fe8ef4211ca2f522755e985f9b69f7821075d8526b9f4bff038313a71afe
data/lib/sw_info.rb CHANGED
@@ -11,194 +11,182 @@ require 'debug'
11
11
 
12
12
  # https://github.com/ruby/debug
13
13
 
14
- #Cargo toda la data de swapi en la variable JSONDATA como hash
15
- =begin JSONDATA = JSON.load_file('./swapi.json').each_with_object({}) do |(key, value), hash|
16
- hash[key] = value
17
- end
18
- =end
14
+ # Cargo toda la data de swapi en la variable JSONDATA como hash
15
+ # JSONDATA = JSON.load_file('./swapi.json').each_with_object({}) do |(key, value), hash|
16
+ # hash[key] = value
17
+ # end
19
18
 
20
19
  JSONDATA = File.expand_path('swapi.json', __dir__)
21
20
 
22
21
  DATA = JSON.load_file(JSONDATA)
23
22
 
24
23
  class Pal
25
- attr_accessor :data
26
-
27
- def to_s
28
- name
29
- end
30
-
31
- def id
32
- @data['id']
33
- end
24
+ attr_accessor :data
34
25
 
35
- def name
36
- @data['name']
37
- end
26
+ def to_s
27
+ name
28
+ end
38
29
 
39
- def self.find(id)
40
-
41
- end
30
+ def id
31
+ @data['id']
32
+ end
42
33
 
43
- def self.all
44
-
45
- end
34
+ def name
35
+ @data['name']
36
+ end
46
37
 
47
- def self.search_for_all(key)
48
- variable = DATA[key].map {|p| new(p)}
49
- return variable
50
- end
38
+ def self.find(id); end
51
39
 
52
- def self.search_for_id(key, id)
53
- variable = DATA[key].find do |p|
54
- p["id"] == id
55
- end
56
- return new(variable)
57
- end
40
+ def self.all; end
58
41
 
59
- def initialize(data)
60
- @data = data
61
- end
42
+ def self.search_for_all(key)
43
+ variable = DATA[key].map { |j| new(j) }
44
+ end
62
45
 
46
+ def self.search_for_id(key, id)
47
+ variable = DATA[key].find { |j| j['id'] == id }
48
+ new(variable)
49
+ end
63
50
 
51
+ def initialize(data)
52
+ @data = data
53
+ end
64
54
  end
65
55
 
66
- #En esta clase voy a querer acceder a esa data dependiendo de la key que me pase
56
+ # En esta clase voy a querer acceder a esa data dependiendo de la key que me pase
67
57
  # y mostrar el atributo que se pida según el método llamado
68
58
  class Person < Pal
69
- attr_accessor :data, :alias
70
-
71
- def birth_year
72
- @data['birth_year']
73
- end
74
-
75
- def eye_color
76
- @data['eye_color']
77
- end
78
-
79
- def hair_color
80
- @data['hair_color']
81
- end
82
-
83
- def skin_color
84
- @data['skin_color']
85
- end
86
-
87
- def height
88
- @data['height']
89
- end
90
-
91
- def mass
92
- @data['mass']
93
- end
94
-
95
- def gender
96
- @data['gender']
97
- end
59
+ attr_accessor :data, :alias
60
+
61
+ def birth_year
62
+ @data['birth_year']
63
+ end
64
+
65
+ def eye_color
66
+ @data['eye_color']
67
+ end
68
+
69
+ def hair_color
70
+ @data['hair_color']
71
+ end
72
+
73
+ def skin_color
74
+ @data['skin_color']
75
+ end
76
+
77
+ def height
78
+ @data['height']
79
+ end
80
+
81
+ def mass
82
+ @data['mass']
83
+ end
84
+
85
+ def gender
86
+ @data['gender']
87
+ end
98
88
  end
99
89
 
100
90
  class Starship < Pal
101
- attr_accessor :data
91
+ attr_accessor :data
102
92
 
103
- def starships
104
- @data['starships']
105
- end
93
+ def starships
94
+ @data['starships']
95
+ end
106
96
 
107
- def model
108
- @data['model']
109
- end
97
+ def model
98
+ @data['model']
99
+ end
110
100
 
111
- def manufacturer
112
- @data['manufacturer']
113
- end
114
-
115
- def cost_in_credits
116
- @data['cost_in_credits']
117
- end
101
+ def manufacturer
102
+ @data['manufacturer']
103
+ end
118
104
 
119
- def length
120
- @data['length']
121
- end
105
+ def cost_in_credits
106
+ @data['cost_in_credits']
107
+ end
122
108
 
123
- def max_atmosphering_speed
124
- @data['max_atmosphering_speed']
125
- end
109
+ def length
110
+ @data['length']
111
+ end
126
112
 
127
- def crew
128
- @data['crew']
129
- end
113
+ def max_atmosphering_speed
114
+ @data['max_atmosphering_speed']
115
+ end
130
116
 
131
- def passengers
132
- @data['passengers']
133
- end
117
+ def crew
118
+ @data['crew']
119
+ end
134
120
 
135
- def cargo_capacity
136
- @data['cargo_capacity']
137
- end
121
+ def passengers
122
+ @data['passengers']
123
+ end
138
124
 
139
- def consumables
140
- @data['consumables']
141
- end
125
+ def cargo_capacity
126
+ @data['cargo_capacity']
127
+ end
142
128
 
143
- def hyperdrive_rating
144
- @data['hyperdrive_rating']
145
- end
129
+ def consumables
130
+ @data['consumables']
131
+ end
146
132
 
147
- def MGLT
148
- @data['MGLT']
149
- end
133
+ def hyperdrive_rating
134
+ @data['hyperdrive_rating']
135
+ end
150
136
 
151
- def starship_class
152
- @data['starship_class']
153
- end
137
+ def MGLT
138
+ @data['MGLT']
139
+ end
154
140
 
141
+ def starship_class
142
+ @data['starship_class']
143
+ end
155
144
  end
156
145
 
157
146
  class Vehicle < Pal
158
- attr_accessor :data
147
+ attr_accessor :data
159
148
 
160
- def vehicles
161
- @data['vehicles']
162
- end
149
+ def vehicles
150
+ @data['vehicles']
151
+ end
163
152
 
164
- def model
165
- @data['model']
166
- end
153
+ def model
154
+ @data['model']
155
+ end
167
156
 
168
- def manufacturer
169
- @data['manufacturer']
170
- end
171
-
172
- def cost_in_credits
173
- @data['cost_in_credits']
174
- end
157
+ def manufacturer
158
+ @data['manufacturer']
159
+ end
175
160
 
176
- def length
177
- @data['length']
178
- end
161
+ def cost_in_credits
162
+ @data['cost_in_credits']
163
+ end
179
164
 
180
- def max_atmosphering_speed
181
- @data['max_atmosphering_speed']
182
- end
165
+ def length
166
+ @data['length']
167
+ end
183
168
 
184
- def crew
185
- @data['crew']
186
- end
169
+ def max_atmosphering_speed
170
+ @data['max_atmosphering_speed']
171
+ end
187
172
 
188
- def passengers
189
- @data['passengers']
190
- end
173
+ def crew
174
+ @data['crew']
175
+ end
191
176
 
192
- def cargo_capacity
193
- @data['cargo_capacity']
194
- end
177
+ def passengers
178
+ @data['passengers']
179
+ end
195
180
 
196
- def consumables
197
- @data['consumables']
198
- end
181
+ def cargo_capacity
182
+ @data['cargo_capacity']
183
+ end
199
184
 
200
- def vehicle_class
201
- @data['vehicle_class']
202
- end
185
+ def consumables
186
+ @data['consumables']
187
+ end
203
188
 
189
+ def vehicle_class
190
+ @data['vehicle_class']
191
+ end
204
192
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sw_info
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - EmilioD
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-22 00:00:00.000000000 Z
11
+ date: 2022-01-23 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: A simple hello world gem
13
+ description: A simple gem that display Star Wars characters info
14
14
  email: emilio@daniel.fake
15
15
  executables: []
16
16
  extensions: []
@@ -42,5 +42,5 @@ requirements: []
42
42
  rubygems_version: 3.2.32
43
43
  signing_key:
44
44
  specification_version: 4
45
- summary: Hola!
45
+ summary: Star Wars API
46
46
  test_files: []