beats-client 0.3.2 → 0.3.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.
- data/.gitignore +1 -0
- data/HISTORY.md +5 -0
- data/README.md +0 -28
- data/beats-client.gemspec +1 -0
- data/lib/beats/client.rb +16 -5
- data/lib/beats/commands/ingest.rb +1 -3
- data/lib/beats/commands/stream.rb +9 -0
- data/lib/beats/version.rb +1 -1
- data/test/client_test.rb +5 -0
- data/test/test_helper.rb +3 -0
- metadata +29 -17
data/.gitignore
CHANGED
data/HISTORY.md
CHANGED
data/README.md
CHANGED
@@ -28,31 +28,3 @@ client.account # => { ... }
|
|
28
28
|
client.resource('Arthur-Russell') # => { "uri" => "Arthur-Russell", "name" => "Arthur Russell", "type" => "Artist", ... }
|
29
29
|
client.search('death metal') # => { "tracks" => [...], ... }
|
30
30
|
```
|
31
|
-
|
32
|
-
Development
|
33
|
-
-----------
|
34
|
-
|
35
|
-
If you want to make your own changes to beats-client, first clone the repo and
|
36
|
-
run the tests:
|
37
|
-
|
38
|
-
git clone git://github.com/ProjectDaisy/beats-ruby-client.git
|
39
|
-
cd beats-ruby-client
|
40
|
-
bundle install
|
41
|
-
rake test
|
42
|
-
|
43
|
-
Contributing
|
44
|
-
------------
|
45
|
-
|
46
|
-
Once you've made your great commits:
|
47
|
-
|
48
|
-
1. Fork the repo
|
49
|
-
2. Create a topic branch - git checkout -b my_branch
|
50
|
-
3. Push to your branch - git push origin my_branch
|
51
|
-
4. Create a Pull Request from your branch
|
52
|
-
5. That's it!
|
53
|
-
|
54
|
-
Author
|
55
|
-
------
|
56
|
-
|
57
|
-
Copyright ©2012 Beats Music Europe AB.
|
58
|
-
Created by Niklas Holmgren (niklas@sutajio.se).
|
data/beats-client.gemspec
CHANGED
data/lib/beats/client.rb
CHANGED
@@ -49,11 +49,11 @@ module Beats
|
|
49
49
|
decode_json(get(resolve_uri(@base_url, uri)))
|
50
50
|
end
|
51
51
|
|
52
|
-
# Adds a
|
53
|
-
# @param [Hash]
|
54
|
-
# @return [Hash] A hash describing the added
|
55
|
-
def
|
56
|
-
decode_json(post(resolve_uri(@base_url, href(:catalogue)),
|
52
|
+
# Adds a release to the catalogue.
|
53
|
+
# @param [Hash] release Metadata describing the release.
|
54
|
+
# @return [Hash] A hash describing the added release.
|
55
|
+
def add_release(release)
|
56
|
+
decode_json(post(resolve_uri(@base_url, href(:catalogue)), release))
|
57
57
|
end
|
58
58
|
|
59
59
|
# Performs a search in the music catalogue and returns the results.
|
@@ -79,6 +79,17 @@ module Beats
|
|
79
79
|
decode_json(get(resolve_uri(@base_url, href(:sentence))))
|
80
80
|
end
|
81
81
|
|
82
|
+
def stream(uri)
|
83
|
+
url = "#{@base_url}#{uri}/stream"
|
84
|
+
RestClient.get(url) do |response, request, result, &block|
|
85
|
+
if response.code == 302
|
86
|
+
return response.headers[:location]
|
87
|
+
else
|
88
|
+
return nil
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
82
93
|
private
|
83
94
|
|
84
95
|
def default_headers
|
@@ -9,11 +9,9 @@ module Beats
|
|
9
9
|
def gem_execute
|
10
10
|
adapter = args.pop
|
11
11
|
load_adapter(adapter)
|
12
|
-
# TODO: Add a general solution to CamelCase the adapter?
|
13
12
|
handler = Beats.const_get('Adapter').const_get(adapter.capitalize!).const_get('Handler').new(args)
|
14
13
|
handler.each_release do |release|
|
15
|
-
|
16
|
-
client.add_resource(release)
|
14
|
+
client.add_release(release)
|
17
15
|
end
|
18
16
|
end
|
19
17
|
|
data/lib/beats/version.rb
CHANGED
data/test/client_test.rb
CHANGED
@@ -81,4 +81,9 @@ class ClientTest < Test::Unit::TestCase
|
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
|
+
def test_can_stream
|
85
|
+
uri = 'Various-Artists/1-2-3---A-Bach-Experience/Partita-No.5-In-In-G-Major%2C-Bwv-829%3A-7.-Gigue'
|
86
|
+
stream_url = @client.stream(uri)
|
87
|
+
URI.parse(stream_url) # should not raise error
|
88
|
+
end
|
84
89
|
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beats-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-04-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rest-client
|
17
|
-
requirement: &
|
17
|
+
requirement: &70158366575580 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *70158366575580
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: multi_json
|
28
|
-
requirement: &
|
28
|
+
requirement: &70158366575080 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *70158366575080
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: json_pure
|
39
|
-
requirement: &
|
39
|
+
requirement: &70158366574420 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *70158366574420
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: rake
|
50
|
-
requirement: &
|
50
|
+
requirement: &70158366573820 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *70158366573820
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: yard
|
61
|
-
requirement: &
|
61
|
+
requirement: &70158366573220 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '0'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *70158366573220
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: redcarpet
|
72
|
-
requirement: &
|
72
|
+
requirement: &70158366572700 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: '0'
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *70158366572700
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: github-markup
|
83
|
-
requirement: &
|
83
|
+
requirement: &70158366571940 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ! '>='
|
@@ -88,7 +88,18 @@ dependencies:
|
|
88
88
|
version: '0'
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *70158366571940
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
name: simplecov
|
94
|
+
requirement: &70158366571480 !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
96
|
+
requirements:
|
97
|
+
- - ! '>='
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '0'
|
100
|
+
type: :development
|
101
|
+
prerelease: false
|
102
|
+
version_requirements: *70158366571480
|
92
103
|
description: A CLI client and SDK for Beats API
|
93
104
|
email:
|
94
105
|
- niklas@sutajio.se
|
@@ -118,6 +129,7 @@ files:
|
|
118
129
|
- lib/beats/commands/help.rb
|
119
130
|
- lib/beats/commands/ingest.rb
|
120
131
|
- lib/beats/commands/sentence.rb
|
132
|
+
- lib/beats/commands/stream.rb
|
121
133
|
- lib/beats/commands/version.rb
|
122
134
|
- lib/beats/version.rb
|
123
135
|
- test/client_test.rb
|
@@ -143,7 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
143
155
|
version: '0'
|
144
156
|
requirements: []
|
145
157
|
rubyforge_project:
|
146
|
-
rubygems_version: 1.8.
|
158
|
+
rubygems_version: 1.8.17
|
147
159
|
signing_key:
|
148
160
|
specification_version: 3
|
149
161
|
summary: A CLI client and SDK for Beats API
|