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 CHANGED
@@ -1,6 +1,7 @@
1
1
  *.gem
2
2
  .bundle
3
3
  Gemfile.lock
4
+ /coverage
4
5
  pkg/*
5
6
  .yardoc/
6
7
  doc/
data/HISTORY.md CHANGED
@@ -1,4 +1,9 @@
1
1
 
2
+ ### 0.3.3 (2012-04-25)
3
+
4
+ * Renamed add_resource to add_release
5
+ * Added stream support
6
+
2
7
  ### 0.3.2 (2012-03-05)
3
8
 
4
9
  * Fixed the memoization of Client#index
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
@@ -23,4 +23,5 @@ Gem::Specification.new do |s|
23
23
  s.add_development_dependency 'yard'
24
24
  s.add_development_dependency 'redcarpet'
25
25
  s.add_development_dependency 'github-markup'
26
+ s.add_development_dependency 'simplecov'
26
27
  end
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 resource to the catalogue.
53
- # @param [Hash] resource Metadata describing the resource.
54
- # @return [Hash] A hash describing the added resource.
55
- def add_resource(resource)
56
- decode_json(post(resolve_uri(@base_url, href(:catalogue)), resource))
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
- display YAML.dump(release)
16
- client.add_resource(release)
14
+ client.add_release(release)
17
15
  end
18
16
  end
19
17
 
@@ -0,0 +1,9 @@
1
+ module Beats
2
+ module Command
3
+ class Stream < Base
4
+ def stream
5
+ display(client.stream(args.pop))
6
+ end
7
+ end
8
+ end
9
+ end
data/lib/beats/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Beats
2
- VERSION = '0.3.2'
2
+ VERSION = '0.3.3'
3
3
  end
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
@@ -1,3 +1,6 @@
1
+ require 'simplecov'
2
+ SimpleCov.start
3
+
1
4
  dir = File.dirname(File.expand_path(__FILE__))
2
5
  $LOAD_PATH.unshift dir + '/../lib'
3
6
 
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.2
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-03-05 00:00:00.000000000 Z
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: &70190327814380 !ruby/object:Gem::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: *70190327814380
25
+ version_requirements: *70158366575580
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: multi_json
28
- requirement: &70190327813960 !ruby/object:Gem::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: *70190327813960
36
+ version_requirements: *70158366575080
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: json_pure
39
- requirement: &70190327813540 !ruby/object:Gem::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: *70190327813540
47
+ version_requirements: *70158366574420
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rake
50
- requirement: &70190327813040 !ruby/object:Gem::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: *70190327813040
58
+ version_requirements: *70158366573820
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: yard
61
- requirement: &70190327812620 !ruby/object:Gem::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: *70190327812620
69
+ version_requirements: *70158366573220
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: redcarpet
72
- requirement: &70190327812160 !ruby/object:Gem::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: *70190327812160
80
+ version_requirements: *70158366572700
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: github-markup
83
- requirement: &70190327811700 !ruby/object:Gem::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: *70190327811700
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.15
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