beats-client 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
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