rdio_api 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- Rdio
1
+ Rdio
2
2
  ====================
3
- Ruby wrapper for the [Rdio](http://rdio.com) API. Inspired from [Linkedin gem](https://github.com/pengwynn/linkedin) & [Twitter gem](https://github.com/jnunemaker/twitter).
3
+ Ruby wrapper for the [Rdio](http://rdio.com) API. Inspired by [Linkedin gem](https://github.com/pengwynn/linkedin) & [Twitter gem](https://github.com/jnunemaker/twitter).
4
4
 
5
5
 
6
6
  Installation
@@ -31,42 +31,44 @@ Usage Examples
31
31
 
32
32
  # Get top playlists
33
33
  client.getTopCharts(:type => "Playlist")
34
-
34
+
35
35
  # Search for a query and and pass in the type
36
36
  client.search(:query => "michael giacchino", :types => "album")
37
-
37
+
38
38
  # Get activity stream of a user
39
39
  client.getActivityStream(:user => "s12345", :scope => "user")
40
-
41
- # Find a user by email address
40
+
41
+ # Find a user by email address
42
42
  client.findUser(:email => "email@example.com")
43
-
43
+
44
44
  # Methods that act on behalf of a user require an access token, OmniAuth is best for this
45
-
46
- # Access token can be set at initialization
47
- client = RdioApi.new(:consumer_key => CONSUMER_KEY,
48
- :consumer_secret => CONSUMER_SECRET,
45
+
46
+ # Access token can be set at initialization
47
+ client = RdioApi.new(:consumer_key => CONSUMER_KEY,
48
+ :consumer_secret => CONSUMER_SECRET,
49
49
  :access_token => ACCESS_TOKEN)
50
-
50
+
51
51
  # Access token can also be set at the clien't access_token instance variable
52
52
  client.access_token = ACCESS_TOKEN
53
-
54
- # Get info about the current user
53
+
54
+ # Get info about the current user
55
55
  client.currentUser
56
-
56
+
57
57
  # Add a friend
58
58
  client.addFriend(:user => "s12345")
59
-
59
+
60
60
  # Create a Playlist
61
- client.createPlaylist(:name => "RubyGem",
62
- :description => "Testing",
63
- :tracks => "t1945474, t3483614")
61
+ client.createPlaylist(:name => "RubyGem",
62
+ :description => "Testing",
63
+ :tracks => "t1945474, t3483614")
64
64
 
65
65
  Available Methods
66
- -----------------
67
-
66
+ -----------------
67
+
68
68
  # Unauthenticated methods, which only require registering for developer keys
69
- client.get
69
+ client.get
70
+ client.getObjectFromShortCode
71
+ client.getObjectFromUrl
70
72
  client.getAlbumsForArtist
71
73
  client.getTracksForArtist
72
74
  client.search
@@ -87,8 +89,6 @@ Available Methods
87
89
  client.getPlaybackToken
88
90
 
89
91
  # Authenticated methods, which require an access token , obtained with user permission
90
- client.getObjectFromShortCode
91
- client.getObjectFromUrl
92
92
  client.addToCollection
93
93
  client.removeFromCollection
94
94
  client.setAvailableOffline
@@ -2,9 +2,9 @@ require 'multi_json'
2
2
  require 'hashie'
3
3
 
4
4
  module RdioApi
5
-
5
+
6
6
  module Api
7
-
7
+
8
8
  def method_missing(method_sym, *arguments)
9
9
  if UNAUTHENTICATED.include?(method_sym)
10
10
  unauthenticated_request(method_sym, *arguments)
@@ -18,19 +18,19 @@ module RdioApi
18
18
  def respond_to?(method)
19
19
  AUTHENTICATED.include?(method.to_sym) || UNAUTHENTICATED.include?(method.to_sym) ? true : false
20
20
  end
21
-
21
+
22
22
  private
23
-
23
+
24
24
  def unauthenticated_request(method_sym, *arguments)
25
- response = unauthenticated_connection.post do |request|
25
+ response = unauthenticated_connection.post(api_url) do |request|
26
26
  request.body = {:method => method_sym.to_s}.merge!(Hash[*arguments.flatten])
27
27
  end
28
28
  response.body.result
29
29
  end
30
-
30
+
31
31
  def authenticated_request(method_sym, *arguments)
32
32
  if authenticated_connection
33
- response = MultiJson.decode(authenticated_connection.post(api_url,
33
+ response = MultiJson.decode(authenticated_connection.post(api_url,
34
34
  {:method => method_sym.to_s}.merge!(Hash[*arguments.flatten])).body)['result']
35
35
  response.is_a?(Hash) ? Hashie::Mash.new(response) : response
36
36
  else
@@ -40,8 +40,11 @@ module RdioApi
40
40
 
41
41
  UNAUTHENTICATED = [
42
42
  :get,
43
+ :getObjectFromShortCode,
44
+ :getObjectFromUrl,
43
45
  :getAlbumsForArtist,
44
46
  :getTracksForArtist,
47
+ :getTracksByISRC,
45
48
  :search,
46
49
  :searchSuggestions,
47
50
  :getAlbumsForArtistInCollection,
@@ -58,10 +61,8 @@ module RdioApi
58
61
  :getNewReleases,
59
62
  :getTopCharts,
60
63
  :getPlaybackToken]
61
-
64
+
62
65
  AUTHENTICATED = [
63
- :getObjectFromShortCode,
64
- :getObjectFromUrl,
65
66
  :addToCollection,
66
67
  :removeFromCollection,
67
68
  :setAvailableOffline,
@@ -1,3 +1,3 @@
1
1
  module RdioApi
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -5,7 +5,8 @@ require "rdio_api/version"
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "rdio_api"
7
7
  s.version = RdioApi::VERSION
8
- s.authors = ["Anil"]
8
+ s.authors = ["Anil Varanasi"]
9
+ s.email = ["anil@anilv.com"]
9
10
  s.homepage = "http://github.com/anilv/rdio_api"
10
11
  s.summary = %q{A Ruby wrapper for the Rdio API}
11
12
  s.description = %q{A Ruby wrapper for the Rdio API}
@@ -17,14 +18,16 @@ Gem::Specification.new do |s|
17
18
  s.add_development_dependency 'rb-fsevent'
18
19
  s.add_development_dependency 'guard-rspec'
19
20
 
20
- s.add_runtime_dependency 'faraday', '~> 0.6.1'
21
- s.add_runtime_dependency 'faraday_middleware', '~> 0.6.5'
22
- s.add_runtime_dependency 'hashie', '~> 1.0.0'
23
- s.add_runtime_dependency 'multi_json', '~> 1.0.3'
21
+
22
+ s.add_runtime_dependency 'faraday', '~> 0.8.0'
23
+ s.add_runtime_dependency 'faraday_middleware', '~> 0.8.7'
24
+ s.add_runtime_dependency 'hashie', '~> 1.2.0'
25
+ s.add_runtime_dependency 'multi_json', '~> 1.3.0'
26
+
24
27
  s.add_runtime_dependency 'simple_oauth', '~> 0.1.5'
25
28
 
26
29
  s.files = `git ls-files`.split("\n")
27
30
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
28
31
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
29
32
  s.require_paths = ["lib"]
30
- end
33
+ end
metadata CHANGED
@@ -1,20 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdio_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
- - Anil
8
+ - Anil Varanasi
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-08-04 00:00:00.000000000 -04:00
13
- default_executable:
12
+ date: 2012-09-15 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: rake
17
- requirement: &70151873674120 !ruby/object:Gem::Requirement
16
+ requirement: &70252692604860 !ruby/object:Gem::Requirement
18
17
  none: false
19
18
  requirements:
20
19
  - - ~>
@@ -22,10 +21,10 @@ dependencies:
22
21
  version: '0.9'
23
22
  type: :development
24
23
  prerelease: false
25
- version_requirements: *70151873674120
24
+ version_requirements: *70252692604860
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: rspec
28
- requirement: &70151873672860 !ruby/object:Gem::Requirement
27
+ requirement: &70252692604360 !ruby/object:Gem::Requirement
29
28
  none: false
30
29
  requirements:
31
30
  - - ~>
@@ -33,10 +32,10 @@ dependencies:
33
32
  version: '2.6'
34
33
  type: :development
35
34
  prerelease: false
36
- version_requirements: *70151873672860
35
+ version_requirements: *70252692604360
37
36
  - !ruby/object:Gem::Dependency
38
37
  name: webmock
39
- requirement: &70151873671560 !ruby/object:Gem::Requirement
38
+ requirement: &70252692603720 !ruby/object:Gem::Requirement
40
39
  none: false
41
40
  requirements:
42
41
  - - ~>
@@ -44,10 +43,10 @@ dependencies:
44
43
  version: '1.6'
45
44
  type: :development
46
45
  prerelease: false
47
- version_requirements: *70151873671560
46
+ version_requirements: *70252692603720
48
47
  - !ruby/object:Gem::Dependency
49
48
  name: oauth
50
- requirement: &70151873670500 !ruby/object:Gem::Requirement
49
+ requirement: &70252692603040 !ruby/object:Gem::Requirement
51
50
  none: false
52
51
  requirements:
53
52
  - - ~>
@@ -55,10 +54,10 @@ dependencies:
55
54
  version: 0.4.5
56
55
  type: :development
57
56
  prerelease: false
58
- version_requirements: *70151873670500
57
+ version_requirements: *70252692603040
59
58
  - !ruby/object:Gem::Dependency
60
59
  name: rb-fsevent
61
- requirement: &70151873669500 !ruby/object:Gem::Requirement
60
+ requirement: &70252692602500 !ruby/object:Gem::Requirement
62
61
  none: false
63
62
  requirements:
64
63
  - - ! '>='
@@ -66,10 +65,10 @@ dependencies:
66
65
  version: '0'
67
66
  type: :development
68
67
  prerelease: false
69
- version_requirements: *70151873669500
68
+ version_requirements: *70252692602500
70
69
  - !ruby/object:Gem::Dependency
71
70
  name: guard-rspec
72
- requirement: &70151873668560 !ruby/object:Gem::Requirement
71
+ requirement: &70252692601840 !ruby/object:Gem::Requirement
73
72
  none: false
74
73
  requirements:
75
74
  - - ! '>='
@@ -77,54 +76,54 @@ dependencies:
77
76
  version: '0'
78
77
  type: :development
79
78
  prerelease: false
80
- version_requirements: *70151873668560
79
+ version_requirements: *70252692601840
81
80
  - !ruby/object:Gem::Dependency
82
81
  name: faraday
83
- requirement: &70151873667340 !ruby/object:Gem::Requirement
82
+ requirement: &70252692601340 !ruby/object:Gem::Requirement
84
83
  none: false
85
84
  requirements:
86
85
  - - ~>
87
86
  - !ruby/object:Gem::Version
88
- version: 0.6.1
87
+ version: 0.8.0
89
88
  type: :runtime
90
89
  prerelease: false
91
- version_requirements: *70151873667340
90
+ version_requirements: *70252692601340
92
91
  - !ruby/object:Gem::Dependency
93
92
  name: faraday_middleware
94
- requirement: &70151873666460 !ruby/object:Gem::Requirement
93
+ requirement: &70252692600840 !ruby/object:Gem::Requirement
95
94
  none: false
96
95
  requirements:
97
96
  - - ~>
98
97
  - !ruby/object:Gem::Version
99
- version: 0.6.5
98
+ version: 0.8.7
100
99
  type: :runtime
101
100
  prerelease: false
102
- version_requirements: *70151873666460
101
+ version_requirements: *70252692600840
103
102
  - !ruby/object:Gem::Dependency
104
103
  name: hashie
105
- requirement: &70151873665360 !ruby/object:Gem::Requirement
104
+ requirement: &70252685219380 !ruby/object:Gem::Requirement
106
105
  none: false
107
106
  requirements:
108
107
  - - ~>
109
108
  - !ruby/object:Gem::Version
110
- version: 1.0.0
109
+ version: 1.2.0
111
110
  type: :runtime
112
111
  prerelease: false
113
- version_requirements: *70151873665360
112
+ version_requirements: *70252685219380
114
113
  - !ruby/object:Gem::Dependency
115
114
  name: multi_json
116
- requirement: &70151873664200 !ruby/object:Gem::Requirement
115
+ requirement: &70252685218920 !ruby/object:Gem::Requirement
117
116
  none: false
118
117
  requirements:
119
118
  - - ~>
120
119
  - !ruby/object:Gem::Version
121
- version: 1.0.3
120
+ version: 1.3.0
122
121
  type: :runtime
123
122
  prerelease: false
124
- version_requirements: *70151873664200
123
+ version_requirements: *70252685218920
125
124
  - !ruby/object:Gem::Dependency
126
125
  name: simple_oauth
127
- requirement: &70151873662300 !ruby/object:Gem::Requirement
126
+ requirement: &70252685218460 !ruby/object:Gem::Requirement
128
127
  none: false
129
128
  requirements:
130
129
  - - ~>
@@ -132,9 +131,10 @@ dependencies:
132
131
  version: 0.1.5
133
132
  type: :runtime
134
133
  prerelease: false
135
- version_requirements: *70151873662300
134
+ version_requirements: *70252685218460
136
135
  description: A Ruby wrapper for the Rdio API
137
- email:
136
+ email:
137
+ - anil@anilv.com
138
138
  executables: []
139
139
  extensions: []
140
140
  extra_rdoc_files: []
@@ -194,7 +194,6 @@ files:
194
194
  - spec/rdio_api/playback_spec.rb
195
195
  - spec/rdio_api/playlists_spec.rb
196
196
  - spec/rdio_api/social_spec.rb
197
- has_rdoc: true
198
197
  homepage: http://github.com/anilv/rdio_api
199
198
  licenses: []
200
199
  post_install_message:
@@ -207,21 +206,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
207
206
  - - ! '>='
208
207
  - !ruby/object:Gem::Version
209
208
  version: '0'
210
- segments:
211
- - 0
212
- hash: -3758542136282764443
213
209
  required_rubygems_version: !ruby/object:Gem::Requirement
214
210
  none: false
215
211
  requirements:
216
212
  - - ! '>='
217
213
  - !ruby/object:Gem::Version
218
214
  version: '0'
219
- segments:
220
- - 0
221
- hash: -3758542136282764443
222
215
  requirements: []
223
216
  rubyforge_project:
224
- rubygems_version: 1.6.2
217
+ rubygems_version: 1.8.11
225
218
  signing_key:
226
219
  specification_version: 3
227
220
  summary: A Ruby wrapper for the Rdio API