youpy-ruby-echonest 0.0.1 → 0.0.2
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.rdoc +8 -5
- data/lib/echonest/api.rb +0 -1
- data/lib/echonest/connection.rb +13 -2
- data/lib/echonest/version.rb +1 -1
- data/spec/connection_spec.rb +19 -0
- metadata +2 -1
data/README.rdoc
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
= echonest
|
2
2
|
|
3
|
-
|
3
|
+
A Ruby interface for Echo Nest Developer API
|
4
4
|
|
5
5
|
== Description
|
6
6
|
|
7
|
-
|
8
7
|
== Installation
|
9
8
|
|
10
9
|
=== Archive Installation
|
@@ -13,21 +12,25 @@ An Ruby interface for Echo Nest Developer API
|
|
13
12
|
|
14
13
|
=== Gem Installation
|
15
14
|
|
16
|
-
gem
|
17
|
-
|
15
|
+
gem sources -a http://gems.github.com/
|
16
|
+
gem install youpy-ruby-echonest
|
18
17
|
|
19
18
|
== Features/Problems
|
20
19
|
|
20
|
+
Supports only API for Track http://developer.echonest.com/pages/overview
|
21
21
|
|
22
22
|
== Synopsis
|
23
23
|
|
24
|
+
require 'rubygems'
|
25
|
+
require 'echonest'
|
26
|
+
|
24
27
|
filename = 'foo.mp3'
|
25
28
|
echonest = Echonest('YOUR_API_KEY')
|
26
29
|
echonest.get_beats(filename)
|
27
30
|
|
28
31
|
== Thanks
|
29
32
|
|
30
|
-
koyachi for original idea
|
33
|
+
{koyachi}[http://github.com/koyachi] for original idea http://gist.github.com/87086
|
31
34
|
|
32
35
|
== Copyright
|
33
36
|
|
data/lib/echonest/api.rb
CHANGED
data/lib/echonest/connection.rb
CHANGED
@@ -14,14 +14,14 @@ module Echonest
|
|
14
14
|
url.query = query(args)
|
15
15
|
end
|
16
16
|
|
17
|
-
req =
|
17
|
+
req = make_request(url, 'get')
|
18
18
|
|
19
19
|
request(req, url)
|
20
20
|
end
|
21
21
|
|
22
22
|
def post(resource, args = nil)
|
23
23
|
url = url(resource.to_s)
|
24
|
-
req =
|
24
|
+
req = make_request(url, 'post')
|
25
25
|
|
26
26
|
if args
|
27
27
|
data = post_data(args)
|
@@ -74,5 +74,16 @@ module Echonest
|
|
74
74
|
def query(params)
|
75
75
|
params.map { |k,v| "%s=%s" % [CGI.escape(k.to_s), CGI.escape(v.to_s)] }.join("&")
|
76
76
|
end
|
77
|
+
|
78
|
+
def make_request(uri, method)
|
79
|
+
req = (method == 'post' ? Net::HTTP::Post : Net::HTTP::Get).new(uri.request_uri)
|
80
|
+
req['User-Agent'] = user_agent
|
81
|
+
|
82
|
+
req
|
83
|
+
end
|
84
|
+
|
85
|
+
def user_agent
|
86
|
+
'%s/%s' % ['ruby-echonest', VERSION]
|
87
|
+
end
|
77
88
|
end
|
78
89
|
end
|
data/lib/echonest/version.rb
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
$:.unshift File.dirname(__FILE__)
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require "echonest"
|
5
|
+
|
6
|
+
include SpecHelper
|
7
|
+
|
8
|
+
describe Echonest::Connection do
|
9
|
+
before do
|
10
|
+
@connection = Echonest::Connection.new(Echonest::Api::URL)
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should make http request with user agent" do
|
14
|
+
req = @connection.make_request(URI('http://example.com/xxx'), 'get')
|
15
|
+
|
16
|
+
req.method.should eql('GET')
|
17
|
+
req['User-Agent'].should eql('ruby-echonest/' + Echonest::VERSION)
|
18
|
+
end
|
19
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: youpy-ruby-echonest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- youpy
|
@@ -27,6 +27,7 @@ files:
|
|
27
27
|
- ChangeLog
|
28
28
|
- Rakefile
|
29
29
|
- spec/api_spec.rb
|
30
|
+
- spec/connection_spec.rb
|
30
31
|
- spec/echonest_spec.rb
|
31
32
|
- spec/fixtures
|
32
33
|
- spec/fixtures/get_bars.xml
|