rdio_api 0.1.0 → 0.1.1

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/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