hphones-ruby 0.0.1 → 0.0.2
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/Gemfile.lock +2 -2
- data/data/endpoints.yml +31 -0
- data/lib/hphones.rb +1 -1
- data/lib/hphones/endpoint.rb +6 -2
- data/lib/hphones/request.rb +8 -3
- data/lib/hphones/response.rb +36 -5
- data/lib/hphones/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00556e53ee71c148c31b173d0087ec8818fc09b7
|
4
|
+
data.tar.gz: b8fa6073496428027d4d248d2481de0c65991446
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 52e5a06556cab0dcefeab73fc80ac516d41d32c5fbb6c317c6d1708ec6d07f13f16c5161900d0d1eef9bfdd57589e9a43dc35417d3a7e8bfd08726c243de64e2
|
7
|
+
data.tar.gz: eb9ca2256f2ae56806700530b9002f9e05755bb9b801089a1949560d3a00323401cc6db14826673b8929213bcd15db2a6469e1ebec4776dbe45bf16581b4d852
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
hphones-ruby (0.0.
|
4
|
+
hphones-ruby (0.0.2)
|
5
5
|
faraday
|
6
6
|
hashie
|
7
7
|
|
@@ -13,7 +13,7 @@ GEM
|
|
13
13
|
dotenv (2.2.1)
|
14
14
|
faraday (0.13.1)
|
15
15
|
multipart-post (>= 1.2, < 3)
|
16
|
-
hashie (3.5.
|
16
|
+
hashie (3.5.7)
|
17
17
|
method_source (0.9.0)
|
18
18
|
multipart-post (2.0.0)
|
19
19
|
pry (0.11.3)
|
data/data/endpoints.yml
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
get_index:
|
2
2
|
method: get
|
3
|
+
response: json
|
3
4
|
params:
|
4
5
|
- key: cmd
|
5
6
|
value: getIndex
|
6
7
|
get_artist:
|
7
8
|
method: get
|
9
|
+
response: json
|
8
10
|
params:
|
9
11
|
- key: cmd
|
10
12
|
value: getArtist
|
@@ -12,6 +14,7 @@ get_artist:
|
|
12
14
|
required: true
|
13
15
|
get_album:
|
14
16
|
method: get
|
17
|
+
response: json
|
15
18
|
params:
|
16
19
|
- key: cmd
|
17
20
|
value: getAlbum
|
@@ -19,32 +22,38 @@ get_album:
|
|
19
22
|
required: true
|
20
23
|
get_upcoming:
|
21
24
|
method: get
|
25
|
+
response: json
|
22
26
|
params:
|
23
27
|
- key: cmd
|
24
28
|
value: getUpcoming
|
25
29
|
get_wanted:
|
26
30
|
method: get
|
31
|
+
response: json
|
27
32
|
params:
|
28
33
|
- key: cmd
|
29
34
|
value: getWanted
|
30
35
|
get_similar:
|
31
36
|
method: get
|
37
|
+
response: json
|
32
38
|
params:
|
33
39
|
- key: cmd
|
34
40
|
value: getSimilar
|
35
41
|
get_history:
|
36
42
|
method: get
|
43
|
+
response: json
|
37
44
|
params:
|
38
45
|
- key: cmd
|
39
46
|
value: getHistory
|
40
47
|
# NOT WORKING YET
|
41
48
|
# get_logs:
|
42
49
|
# method: get
|
50
|
+
# response: json
|
43
51
|
# params:
|
44
52
|
# - key: cmd
|
45
53
|
# value: getLogs
|
46
54
|
find_artist:
|
47
55
|
method: get
|
56
|
+
response: json
|
48
57
|
params:
|
49
58
|
- key: cmd
|
50
59
|
value: findArtist
|
@@ -54,6 +63,7 @@ find_artist:
|
|
54
63
|
required: false
|
55
64
|
find_album:
|
56
65
|
method: get
|
66
|
+
response: json
|
57
67
|
params:
|
58
68
|
- key: cmd
|
59
69
|
value: findAlbum
|
@@ -63,6 +73,7 @@ find_album:
|
|
63
73
|
required: false
|
64
74
|
add_artist:
|
65
75
|
method: get
|
76
|
+
response: status
|
66
77
|
params:
|
67
78
|
- key: cmd
|
68
79
|
value: addArtist
|
@@ -70,6 +81,7 @@ add_artist:
|
|
70
81
|
required: true
|
71
82
|
add_album:
|
72
83
|
method: get
|
84
|
+
response: status
|
73
85
|
params:
|
74
86
|
- key: cmd
|
75
87
|
value: addAlbum
|
@@ -77,6 +89,7 @@ add_album:
|
|
77
89
|
required: true
|
78
90
|
del_artist:
|
79
91
|
method: get
|
92
|
+
response: status
|
80
93
|
params:
|
81
94
|
- key: cmd
|
82
95
|
value: delArtist
|
@@ -84,6 +97,7 @@ del_artist:
|
|
84
97
|
required: true
|
85
98
|
pause_artist:
|
86
99
|
method: get
|
100
|
+
response: status
|
87
101
|
params:
|
88
102
|
- key: cmd
|
89
103
|
value: pauseArtist
|
@@ -91,6 +105,7 @@ pause_artist:
|
|
91
105
|
required: true
|
92
106
|
resume_artist:
|
93
107
|
method: get
|
108
|
+
response: status
|
94
109
|
params:
|
95
110
|
- key: cmd
|
96
111
|
value: resumeArtist
|
@@ -98,6 +113,7 @@ resume_artist:
|
|
98
113
|
required: true
|
99
114
|
refresh_artist:
|
100
115
|
method: get
|
116
|
+
response: status
|
101
117
|
params:
|
102
118
|
- key: cmd
|
103
119
|
value: refreshArtist
|
@@ -105,6 +121,7 @@ refresh_artist:
|
|
105
121
|
required: true
|
106
122
|
queue_album:
|
107
123
|
method: get
|
124
|
+
response: status
|
108
125
|
params:
|
109
126
|
- key: cmd
|
110
127
|
value: queueAlbum
|
@@ -116,6 +133,7 @@ queue_album:
|
|
116
133
|
required: false
|
117
134
|
unqueue_album:
|
118
135
|
method: get
|
136
|
+
response: status
|
119
137
|
params:
|
120
138
|
- key: cmd
|
121
139
|
value: unqueueAlbum
|
@@ -123,11 +141,13 @@ unqueue_album:
|
|
123
141
|
required: true
|
124
142
|
force_search:
|
125
143
|
method: get
|
144
|
+
response: status
|
126
145
|
params:
|
127
146
|
- key: cmd
|
128
147
|
value: forceSearch
|
129
148
|
force_process:
|
130
149
|
method: get
|
150
|
+
response: status
|
131
151
|
params:
|
132
152
|
- key: cmd
|
133
153
|
value: forceProcess
|
@@ -135,6 +155,7 @@ force_process:
|
|
135
155
|
required: false
|
136
156
|
force_active_artists_update:
|
137
157
|
method: get
|
158
|
+
response: status
|
138
159
|
params:
|
139
160
|
- key: cmd
|
140
161
|
value: forceActiveArtistsUpdate
|
@@ -145,26 +166,31 @@ get_version:
|
|
145
166
|
value: getVersion
|
146
167
|
check_github:
|
147
168
|
method: get
|
169
|
+
response: status
|
148
170
|
params:
|
149
171
|
- key: cmd
|
150
172
|
value: checkGithub
|
151
173
|
shutdown:
|
152
174
|
method: get
|
175
|
+
response: status
|
153
176
|
params:
|
154
177
|
- key: cmd
|
155
178
|
value: shutdown
|
156
179
|
restart:
|
157
180
|
method: get
|
181
|
+
response: status
|
158
182
|
params:
|
159
183
|
- key: cmd
|
160
184
|
value: restart
|
161
185
|
update:
|
162
186
|
method: get
|
187
|
+
response: status
|
163
188
|
params:
|
164
189
|
- key: cmd
|
165
190
|
value: update
|
166
191
|
get_artist_art:
|
167
192
|
method: get
|
193
|
+
response: path
|
168
194
|
params:
|
169
195
|
- key: cmd
|
170
196
|
value: getArtistArt
|
@@ -172,6 +198,7 @@ get_artist_art:
|
|
172
198
|
required: true
|
173
199
|
get_artist_info:
|
174
200
|
method: get
|
201
|
+
response: json
|
175
202
|
params:
|
176
203
|
- key: cmd
|
177
204
|
value: getArtistInfo
|
@@ -179,6 +206,7 @@ get_artist_info:
|
|
179
206
|
required: true
|
180
207
|
get_album_info:
|
181
208
|
method: get
|
209
|
+
response: json
|
182
210
|
params:
|
183
211
|
- key: cmd
|
184
212
|
value: getAlbumInfo
|
@@ -186,6 +214,7 @@ get_album_info:
|
|
186
214
|
required: true
|
187
215
|
get_artist_thumb:
|
188
216
|
method: get
|
217
|
+
response: path
|
189
218
|
params:
|
190
219
|
- key: cmd
|
191
220
|
value: getArtistThumb
|
@@ -193,6 +222,7 @@ get_artist_thumb:
|
|
193
222
|
required: true
|
194
223
|
get_album_thumb:
|
195
224
|
method: get
|
225
|
+
response: path
|
196
226
|
params:
|
197
227
|
- key: cmd
|
198
228
|
value: getAlbumThumb
|
@@ -200,6 +230,7 @@ get_album_thumb:
|
|
200
230
|
required: true
|
201
231
|
choose_specific_download:
|
202
232
|
method: get
|
233
|
+
response: json
|
203
234
|
params:
|
204
235
|
- key: cmd
|
205
236
|
value: choose_specific_download
|
data/lib/hphones.rb
CHANGED
data/lib/hphones/endpoint.rb
CHANGED
@@ -11,7 +11,7 @@ class Hphones
|
|
11
11
|
class MissingParameterError < StandardError; end
|
12
12
|
|
13
13
|
# The path to the endpoints file.
|
14
|
-
ENDPOINTS_PATH = File.join('data', 'endpoints.yml')
|
14
|
+
ENDPOINTS_PATH = File.join(File.dirname(__FILE__), '..', '..', 'data', 'endpoints.yml')
|
15
15
|
|
16
16
|
class << self
|
17
17
|
def lookup(key)
|
@@ -37,10 +37,14 @@ class Hphones
|
|
37
37
|
|
38
38
|
def fetch
|
39
39
|
api_params = compile_params
|
40
|
-
req = Hphones::Request.new(api)
|
40
|
+
req = Hphones::Request.new(api, self)
|
41
41
|
req.send endpoint_info['method'], api_params
|
42
42
|
end
|
43
43
|
|
44
|
+
def response_type
|
45
|
+
endpoint_info['response']
|
46
|
+
end
|
47
|
+
|
44
48
|
private
|
45
49
|
|
46
50
|
attr_reader :key, :api, :params
|
data/lib/hphones/request.rb
CHANGED
@@ -5,16 +5,21 @@ class Hphones
|
|
5
5
|
# Represents an API request
|
6
6
|
#
|
7
7
|
class Request
|
8
|
-
attr_reader :api
|
8
|
+
attr_reader :api, :endpoint
|
9
9
|
|
10
|
-
def initialize(api)
|
10
|
+
def initialize(api, endpoint)
|
11
11
|
@api = api
|
12
|
+
@endpoint = endpoint
|
12
13
|
end
|
13
14
|
|
14
15
|
def get(params = {})
|
15
16
|
conn = api.connection
|
16
17
|
compiled_params = params.merge('apikey' => api.api_key)
|
17
|
-
Hphones::Response.new(conn.get(api.base_path, compiled_params))
|
18
|
+
Hphones::Response.new(self, conn.get(api.base_path, compiled_params))
|
19
|
+
end
|
20
|
+
|
21
|
+
def response_type
|
22
|
+
endpoint.response_type
|
18
23
|
end
|
19
24
|
end
|
20
25
|
end
|
data/lib/hphones/response.rb
CHANGED
@@ -8,20 +8,51 @@ class Hphones
|
|
8
8
|
# Represents an API response
|
9
9
|
#
|
10
10
|
class Response
|
11
|
-
|
11
|
+
STATUS_OK = 'OK'
|
12
|
+
|
13
|
+
RESPONSE_TYPE_JSON = 'json'
|
14
|
+
RESPONSE_TYPE_STATUS = 'status'
|
15
|
+
RESPONSE_TYPE_PATH = 'path'
|
16
|
+
|
17
|
+
def initialize(request, http_response)
|
12
18
|
@http_response = http_response
|
19
|
+
@request = request
|
13
20
|
end
|
14
21
|
|
15
22
|
def data
|
16
|
-
@data ||=
|
23
|
+
@data ||= parse_data http_response.body
|
17
24
|
end
|
18
25
|
|
19
26
|
private
|
20
27
|
|
21
|
-
attr_reader :http_response
|
28
|
+
attr_reader :request, :http_response
|
29
|
+
|
30
|
+
def parse_data(body)
|
31
|
+
case request.response_type
|
32
|
+
when RESPONSE_TYPE_JSON
|
33
|
+
parse_json body
|
34
|
+
when RESPONSE_TYPE_STATUS
|
35
|
+
parse_status body
|
36
|
+
when RESPONSE_TYPE_PATH
|
37
|
+
parse_path body
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def parse_json(body)
|
42
|
+
JSON.parse body
|
43
|
+
end
|
44
|
+
|
45
|
+
def parse_status(body)
|
46
|
+
case body
|
47
|
+
when STATUS_OK
|
48
|
+
true
|
49
|
+
else
|
50
|
+
false
|
51
|
+
end
|
52
|
+
end
|
22
53
|
|
23
|
-
def
|
24
|
-
|
54
|
+
def parse_path(body)
|
55
|
+
body
|
25
56
|
end
|
26
57
|
end
|
27
58
|
end
|
data/lib/hphones/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hphones-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tyler Guillen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-12-
|
11
|
+
date: 2017-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|