sw_info 1.0.1 → 1.0.3
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.
- checksums.yaml +4 -4
- data/lib/sw_info.rb +130 -142
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c09bae496651501ac197952b8107ea66de17ae4b0fe5037143431bcab31dae9
|
4
|
+
data.tar.gz: e17c9b49e748526488921480958ff094e15509ee9aba2d18eefbcd00dacdcd4c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
16
|
-
|
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
|
-
|
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
|
-
|
36
|
-
|
37
|
-
|
26
|
+
def to_s
|
27
|
+
name
|
28
|
+
end
|
38
29
|
|
39
|
-
|
40
|
-
|
41
|
-
|
30
|
+
def id
|
31
|
+
@data['id']
|
32
|
+
end
|
42
33
|
|
43
|
-
|
44
|
-
|
45
|
-
|
34
|
+
def name
|
35
|
+
@data['name']
|
36
|
+
end
|
46
37
|
|
47
|
-
|
48
|
-
variable = DATA[key].map {|p| new(p)}
|
49
|
-
return variable
|
50
|
-
end
|
38
|
+
def self.find(id); end
|
51
39
|
|
52
|
-
|
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
|
-
|
60
|
-
|
61
|
-
|
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
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
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
|
-
|
91
|
+
attr_accessor :data
|
102
92
|
|
103
|
-
|
104
|
-
|
105
|
-
|
93
|
+
def starships
|
94
|
+
@data['starships']
|
95
|
+
end
|
106
96
|
|
107
|
-
|
108
|
-
|
109
|
-
|
97
|
+
def model
|
98
|
+
@data['model']
|
99
|
+
end
|
110
100
|
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
def cost_in_credits
|
116
|
-
@data['cost_in_credits']
|
117
|
-
end
|
101
|
+
def manufacturer
|
102
|
+
@data['manufacturer']
|
103
|
+
end
|
118
104
|
|
119
|
-
|
120
|
-
|
121
|
-
|
105
|
+
def cost_in_credits
|
106
|
+
@data['cost_in_credits']
|
107
|
+
end
|
122
108
|
|
123
|
-
|
124
|
-
|
125
|
-
|
109
|
+
def length
|
110
|
+
@data['length']
|
111
|
+
end
|
126
112
|
|
127
|
-
|
128
|
-
|
129
|
-
|
113
|
+
def max_atmosphering_speed
|
114
|
+
@data['max_atmosphering_speed']
|
115
|
+
end
|
130
116
|
|
131
|
-
|
132
|
-
|
133
|
-
|
117
|
+
def crew
|
118
|
+
@data['crew']
|
119
|
+
end
|
134
120
|
|
135
|
-
|
136
|
-
|
137
|
-
|
121
|
+
def passengers
|
122
|
+
@data['passengers']
|
123
|
+
end
|
138
124
|
|
139
|
-
|
140
|
-
|
141
|
-
|
125
|
+
def cargo_capacity
|
126
|
+
@data['cargo_capacity']
|
127
|
+
end
|
142
128
|
|
143
|
-
|
144
|
-
|
145
|
-
|
129
|
+
def consumables
|
130
|
+
@data['consumables']
|
131
|
+
end
|
146
132
|
|
147
|
-
|
148
|
-
|
149
|
-
|
133
|
+
def hyperdrive_rating
|
134
|
+
@data['hyperdrive_rating']
|
135
|
+
end
|
150
136
|
|
151
|
-
|
152
|
-
|
153
|
-
|
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
|
-
|
147
|
+
attr_accessor :data
|
159
148
|
|
160
|
-
|
161
|
-
|
162
|
-
|
149
|
+
def vehicles
|
150
|
+
@data['vehicles']
|
151
|
+
end
|
163
152
|
|
164
|
-
|
165
|
-
|
166
|
-
|
153
|
+
def model
|
154
|
+
@data['model']
|
155
|
+
end
|
167
156
|
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
def cost_in_credits
|
173
|
-
@data['cost_in_credits']
|
174
|
-
end
|
157
|
+
def manufacturer
|
158
|
+
@data['manufacturer']
|
159
|
+
end
|
175
160
|
|
176
|
-
|
177
|
-
|
178
|
-
|
161
|
+
def cost_in_credits
|
162
|
+
@data['cost_in_credits']
|
163
|
+
end
|
179
164
|
|
180
|
-
|
181
|
-
|
182
|
-
|
165
|
+
def length
|
166
|
+
@data['length']
|
167
|
+
end
|
183
168
|
|
184
|
-
|
185
|
-
|
186
|
-
|
169
|
+
def max_atmosphering_speed
|
170
|
+
@data['max_atmosphering_speed']
|
171
|
+
end
|
187
172
|
|
188
|
-
|
189
|
-
|
190
|
-
|
173
|
+
def crew
|
174
|
+
@data['crew']
|
175
|
+
end
|
191
176
|
|
192
|
-
|
193
|
-
|
194
|
-
|
177
|
+
def passengers
|
178
|
+
@data['passengers']
|
179
|
+
end
|
195
180
|
|
196
|
-
|
197
|
-
|
198
|
-
|
181
|
+
def cargo_capacity
|
182
|
+
@data['cargo_capacity']
|
183
|
+
end
|
199
184
|
|
200
|
-
|
201
|
-
|
202
|
-
|
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.
|
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-
|
11
|
+
date: 2022-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description: A simple
|
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:
|
45
|
+
summary: Star Wars API
|
46
46
|
test_files: []
|