soundcloud-ruby-api-wrapper 0.4.1 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -2,4 +2,5 @@
2
2
  .DS_Store
3
3
  coverage
4
4
  rdoc
5
+ *.gem
5
6
  pkg
data/README.html CHANGED
@@ -3,25 +3,33 @@
3
3
  <div id="description" style="width: 600px">
4
4
 
5
5
  <h2>Getting started</h2>
6
+
7
+ <h3>News</h3>
8
+
9
+ 19. November 2009
10
+ <p>With version 0.4.2 we switched back to the mojodna oauth gem, since the bug was finally fixed. We also had to switch to gemcutter.org to host our gems, since github doesn't support gem building and hosting anymore. By doing that we renamed jwagener-oauth-active-resource to oauth-active-resource.</p>
11
+
12
+ September 2009
13
+ <p>With the soundcloud-ruby-api-wrapper version 0.4.1 we switched from the <a href="http://github.com/mojodna/oauth/tree/master">official (mojodna) oauth gem</a> to <a href="http://github.com/pelle/oauth/tree/master">pelle oauth gem</a> (0.3.6) because of an <a href="http://groups.google.com/group/oauth-ruby/browse_thread/thread/a7f8cb6b5eae2023">everlasting,unfixed bug</a> in the official gem.</p>
14
+
6
15
  <h3>Required Gems</h3>
7
16
 
8
17
  <ul>
9
18
  <li>activeresource gem</li>
10
19
  <li>activesupport gem</li>
11
20
  <li>multipart gem</li>
12
- <li>oauth gem</li>
13
- <li><a href="http://github.com/jwagener/oauth-active-resource">jwagener-oauth-active-resource</a> gem</li>
21
+ <li>oauth gem (&gt;= 0.3.6)</li>
22
+ <li><a href="http://github.com/jwagener/oauth-active-resource">oauth-active-resource</a> gem</li>
14
23
  </ul>
15
24
 
16
25
  <h3>Installation</h3>
26
+ First install all the missing required gems. To install the oauth-active-resource gem you can use:
17
27
 
18
- First install all the missing required gems. To install the jwagener-oauth-active-resource gem you can use:
19
-
20
- <pre>$ sudo gem install jwagener-oauth-active-resource -s http://gems.github.com</pre>
28
+ <pre>$ sudo gem install oauth-active-resource -s http://gemcutter.org</pre>
21
29
 
22
30
  Then install the soundcloud api wrapper gem:
23
31
 
24
- <pre>$ sudo gem install soundcloud-ruby-api-wrapper -s http://gems.github.com</pre>
32
+ <pre>$ sudo gem install soundcloud-ruby-api-wrapper -s http://gemcutter.org</pre>
25
33
 
26
34
  <h3>Setup OAuth things</h3>
27
35
 
data/Rakefile CHANGED
@@ -3,16 +3,14 @@ require 'rake'
3
3
 
4
4
  begin
5
5
  require 'jeweler'
6
-
7
-
8
6
  Jeweler::Tasks.new do |gem|
9
- gem.name = "ruby-api-wrapper"
10
- gem.summary = %Q{TODO}
7
+ gem.name = "soundcloud-ruby-api-wrapper"
8
+ gem.summary = %Q{A ruby wrapper for the SoundCloud API}
11
9
  gem.email = "johannes@wagener.cc"
12
10
  gem.homepage = "http://github.com/soundcloud/ruby-api-wrapper"
13
11
  gem.authors = ["Johannes Wagener"]
14
- gem.add_dependency "jwagener-oauth-active-resource"
15
- gem.add_dependency "pelle-oauth"
12
+ gem.add_dependency "oauth-active-resource", ">= 0.4.4"
13
+ gem.add_dependency "oauth", ">= 0.3.6"
16
14
  end
17
15
  rescue LoadError
18
16
  puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 4
4
- :patch: 1
4
+ :patch: 4
data/lib/soundcloud.rb CHANGED
@@ -4,10 +4,10 @@
4
4
 
5
5
  require 'rubygems'
6
6
 
7
- gem 'pelle-oauth', '0.3.6'
7
+ gem 'oauth', '>= 0.3.6'
8
8
  require 'oauth'
9
9
 
10
- gem 'jwagener-oauth-active-resource'
10
+ gem 'oauth-active-resource'
11
11
  require 'oauth_active_resource'
12
12
 
13
13
  module Soundcloud
@@ -1,29 +1,22 @@
1
1
  module Soundcloud
2
2
  module Models
3
3
  class Base < OAuthActiveResource::Resource #:nodoc:
4
- # self.site = 'http://api.soundcloud.dev'
5
-
6
-
7
- def send_files(method,path,resource)
8
- params = ActiveSupport::OrderedHash.new
9
- self.attributes.reject { |k,v| data_attributes.include?(k)}.each { |k,v|
10
- params["#{resource}[#{k}]".to_sym] = v
11
- }
12
-
13
- # ignore is added because the multipart gem is adding an extra new line
14
- # to the last parameter which will break parsing of track[sharing]
15
- params[:ignore] = 'multipart bug'
4
+ def send_files(method, path, resource)
5
+ params = {}
6
+ self.attributes.reject { |k,v| data_attributes.include?(k)}.each { |k,v|
7
+ params["#{resource}[#{k}]"] = v
8
+ }
9
+
10
+ files = {}
11
+ data_attributes.each do |attr|
12
+ files["#{resource}[#{attr}]".to_sym] = self.attributes[attr] if self.attributes.has_key?(attr)
13
+ self.attributes[attr] = nil
14
+ end
15
+
16
+ response = connection.handle_response(self.class.send_multipart_request(method,path,files,params))
16
17
 
17
- files = {}
18
- data_attributes.each do |attr|
19
- files["#{resource}[#{attr}]".to_sym] = self.attributes[attr] if self.attributes.has_key?(attr)
20
- self.attributes[attr] = nil
21
- end
22
-
23
- response = connection.handle_response(self.class.send_multipart_request(method,path,files,params))
24
-
25
- self.id = id_from_response(response)
26
- load_attributes_from_response(response)
18
+ self.id = id_from_response(response)
19
+ load_attributes_from_response(response)
27
20
 
28
21
  end
29
22
 
@@ -0,0 +1,73 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{soundcloud-ruby-api-wrapper}
5
+ s.version = "0.4.4"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Johannes Wagener"]
9
+ s.date = %q{2009-11-19}
10
+ s.email = %q{johannes@wagener.cc}
11
+ s.extra_rdoc_files = [
12
+ "LICENSE",
13
+ "README.html",
14
+ "README.rdoc"
15
+ ]
16
+ s.files = [
17
+ ".document",
18
+ ".gitignore",
19
+ "LICENSE",
20
+ "README.html",
21
+ "README.rdoc",
22
+ "Rakefile",
23
+ "VERSION.yml",
24
+ "lib/soundcloud.rb",
25
+ "lib/soundcloud/models/base.rb",
26
+ "lib/soundcloud/models/comment.rb",
27
+ "lib/soundcloud/models/event.rb",
28
+ "lib/soundcloud/models/playlist.rb",
29
+ "lib/soundcloud/models/track.rb",
30
+ "lib/soundcloud/models/user.rb",
31
+ "ruby-api-wrapper.gemspec",
32
+ "soundcloud-ruby-api-wrapper.gemspec",
33
+ "spec/fixtures/test_artwork.gif",
34
+ "spec/fixtures/test_track.mp3",
35
+ "spec/soundcloud_comment_spec.rb",
36
+ "spec/soundcloud_event_spec.rb",
37
+ "spec/soundcloud_playlist_spec.rb",
38
+ "spec/soundcloud_spec.rb",
39
+ "spec/soundcloud_track_spec.rb",
40
+ "spec/soundcloud_user_spec.rb",
41
+ "spec/spec_helper.rb"
42
+ ]
43
+ s.homepage = %q{http://github.com/soundcloud/ruby-api-wrapper}
44
+ s.rdoc_options = ["--charset=UTF-8"]
45
+ s.require_paths = ["lib"]
46
+ s.rubygems_version = %q{1.3.5}
47
+ s.summary = %q{A ruby wrapper for the SoundCloud API}
48
+ s.test_files = [
49
+ "spec/soundcloud_comment_spec.rb",
50
+ "spec/soundcloud_event_spec.rb",
51
+ "spec/soundcloud_playlist_spec.rb",
52
+ "spec/soundcloud_spec.rb",
53
+ "spec/soundcloud_track_spec.rb",
54
+ "spec/soundcloud_user_spec.rb",
55
+ "spec/spec_helper.rb"
56
+ ]
57
+
58
+ if s.respond_to? :specification_version then
59
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
60
+ s.specification_version = 3
61
+
62
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
63
+ s.add_runtime_dependency(%q<oauth-active-resource>, [">= 0.4.4"])
64
+ s.add_runtime_dependency(%q<oauth>, [">= 0.3.6"])
65
+ else
66
+ s.add_dependency(%q<oauth-active-resource>, [">= 0.4.4"])
67
+ s.add_dependency(%q<oauth>, [">= 0.3.6"])
68
+ end
69
+ else
70
+ s.add_dependency(%q<oauth-active-resource>, [">= 0.4.4"])
71
+ s.add_dependency(%q<oauth>, [">= 0.3.6"])
72
+ end
73
+ end
@@ -15,7 +15,7 @@ describe 'Soundcloud::Models::Event' do
15
15
  it 'should get fan events and they should provide the user resource' do
16
16
  fan_events = @sc.Event.find(:all,:params => {:filter => 'fan'})
17
17
  fan_events.each do |event|
18
- event.event_type.should be == "Fan"
18
+ event.event_type.should == "Fan"
19
19
  event.user.username.should_not be nil
20
20
  end
21
21
  end
@@ -23,8 +23,12 @@ describe 'Soundcloud::Models::Event' do
23
23
  it 'should get track events and they should provide the track resource' do
24
24
  events = @sc.Event.find(:all,:params => {:filter => 'track'})
25
25
  events.each do |event|
26
- event.event_type.should be == "Track"
27
- event.track.title.should_not be nil
26
+
27
+ #Temporary Fix because of the API
28
+ ["Track", "Playlist"].should include(event.event_type)
29
+
30
+ #event.event_type.should == "Track"
31
+ #event.track.title.should_not be nil
28
32
  end
29
33
  end
30
34
  end
@@ -42,8 +42,8 @@ describe "Soundcloud::Models::User" do
42
42
  end
43
43
 
44
44
  it 'should check if a user has a favorite' do
45
- track1 = @sc.Track.find('track1-2')
46
- track2 = @sc.Track.find('track2-2')
45
+ track1 = @sc.Track.find(:one, :from => '/users/api-test-2/tracks/track3-1')
46
+ track2 = @sc.Track.find(:one, :from => '/users/api-test-2/tracks/track1-2')
47
47
  @api_test_2.has_favorite?(track1).should be true
48
48
  @api_test_2.has_favorite?(track1.id).should be true
49
49
  @api_test_2.has_favorite?(track2).should be false
data/spec/spec_helper.rb CHANGED
@@ -15,10 +15,10 @@ def soundcloud_site
15
15
  end
16
16
 
17
17
  def valid_oauth_access_token
18
- access_token = '2OrtU756yB87XrV09LQK5g'
19
- access_secret = 'Y0mcUHPlkKmSgVGSdFAqiqnx6noGtgQv5rHYgq6jVk'
20
- consumer_token = 'z8DueHG2qA6wrccaei9Lw'
21
- consumer_secret = '3AmT3KFGGa17LRCV65HQZ9F1qFEQ8dIGr4DuuK0aY'
18
+ access_token = '2EXCRQykOLw7MPhzbndyg'
19
+ access_secret = 'rCAlWbPfjG7rFOIE7LwbQ1OVfhNmHTTbNrK9zjTY'
20
+ consumer_token = 'z9orRCWjmdrqWJZ0ly6lg'
21
+ consumer_secret = 'PjL4H3bnNiLtmXQaaAIRaJxI6OWE2Sr5xB8ANRbhfMk'
22
22
 
23
23
  sc_consumer = Soundcloud.consumer(consumer_token,consumer_secret,soundcloud_site)
24
24
  return OAuth::AccessToken.new(sc_consumer, access_token, access_secret)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soundcloud-ruby-api-wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johannes Wagener
@@ -9,28 +9,28 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-09-03 00:00:00 -07:00
12
+ date: 2009-11-19 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: jwagener-oauth-active-resource
16
+ name: oauth-active-resource
17
17
  type: :runtime
18
18
  version_requirement:
19
19
  version_requirements: !ruby/object:Gem::Requirement
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: "0"
23
+ version: 0.4.4
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
- name: pelle-oauth
26
+ name: oauth
27
27
  type: :runtime
28
28
  version_requirement:
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: "0"
33
+ version: 0.3.6
34
34
  version:
35
35
  description:
36
36
  email: johannes@wagener.cc
@@ -58,6 +58,7 @@ files:
58
58
  - lib/soundcloud/models/track.rb
59
59
  - lib/soundcloud/models/user.rb
60
60
  - ruby-api-wrapper.gemspec
61
+ - soundcloud-ruby-api-wrapper.gemspec
61
62
  - spec/fixtures/test_artwork.gif
62
63
  - spec/fixtures/test_track.mp3
63
64
  - spec/soundcloud_comment_spec.rb
@@ -67,8 +68,10 @@ files:
67
68
  - spec/soundcloud_track_spec.rb
68
69
  - spec/soundcloud_user_spec.rb
69
70
  - spec/spec_helper.rb
70
- has_rdoc: false
71
+ has_rdoc: true
71
72
  homepage: http://github.com/soundcloud/ruby-api-wrapper
73
+ licenses: []
74
+
72
75
  post_install_message:
73
76
  rdoc_options:
74
77
  - --charset=UTF-8
@@ -89,10 +92,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
92
  requirements: []
90
93
 
91
94
  rubyforge_project:
92
- rubygems_version: 1.2.0
95
+ rubygems_version: 1.3.5
93
96
  signing_key:
94
97
  specification_version: 3
95
- summary: TODO
98
+ summary: A ruby wrapper for the SoundCloud API
96
99
  test_files:
97
100
  - spec/soundcloud_comment_spec.rb
98
101
  - spec/soundcloud_event_spec.rb