next-big-sound-lite 0.2.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,5 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
5
+ .DS_Store
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in next_big_sound_lite.gemspec
4
+ gemspec
@@ -0,0 +1,20 @@
1
+ Next Big Sound Lite
2
+ --
3
+
4
+ This gem wraps the Next Big Sound JSON API. Read the API docs {here}[http://api3.nextbigsound.com].
5
+
6
+ Done? Then you can use this API.
7
+
8
+ First setup the gem to use your API key:
9
+
10
+ NextBigSoundLite.api_key = 'my_key'
11
+
12
+ If you have a private key (for writing):
13
+
14
+ NextBigSoundLite.private_key = 'my_private_key'
15
+
16
+ The methods of this wrapper are organized in the same way as the subsections of the API docs. For example to call the endpoint 'profile' on Metrics you should call:
17
+
18
+ NextBigSoundLite::Metric.profile(200, :start => 2.months.ago)
19
+
20
+ Notice that the receiver has a singular name (ala Rails Models)
data/Rakefile CHANGED
@@ -1,15 +1,9 @@
1
- # Rakefile
2
- require 'rubygems'
3
- require 'rake'
4
- require 'echoe'
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
5
3
 
6
- Echoe.new('next-big-sound-lite', '0.2.0') do |p|
7
- p.description = "Thin wrapper for the Next Big Sound API."
8
- p.url = "http://github.com/rpbertp13/next-big-sound-lite"
9
- p.author = "Roberto Thais"
10
- p.email = "roberto.n.thais@gmail.com"
11
- p.ignore_pattern = ["tmp/*", "script/*"]
12
- p.development_dependencies = ["rest-client", "json"]
13
- end
4
+ require 'spec/rake/spectask'
14
5
 
15
- Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
6
+ Spec::Rake::SpecTask.new(:spec) do |t|
7
+ t.spec_files = Dir.glob('spec/**/*_spec.rb')
8
+ t.spec_opts << '--format specdoc'
9
+ end
@@ -1,30 +1 @@
1
- #For version 2.0 of the Next Big Sound API
2
-
3
- require 'rest_client'
4
- require 'json'
5
- require 'cgi'
6
-
7
- require 'next-big-sound-lite/resource'
8
- require 'next-big-sound-lite/artist'
9
- require 'next-big-sound-lite/genre'
10
- require 'next-big-sound-lite/metric'
11
- require 'next-big-sound-lite/profile'
12
- require 'next-big-sound-lite/service'
13
- require 'next-big-sound-lite/track'
14
- require 'next-big-sound-lite/youtube'
15
-
16
- module NBS
17
-
18
- class << self
19
- attr_reader :base
20
- attr_accessor :private_key
21
- end
22
-
23
- def self.api_key=(key)
24
- @base = RestClient::Resource.new("http://#{key}.api2.nextbigsound.com")
25
- end
26
-
27
- self.api_key = 'key'
28
-
29
- end
30
-
1
+ require 'next_big_sound_lite'
@@ -0,0 +1,27 @@
1
+ #For version 3.0 of the Next Big Sound API
2
+
3
+ require 'rest_client'
4
+ require 'json'
5
+ require 'hashie'
6
+
7
+ require 'next_big_sound_lite/resource'
8
+ require 'next_big_sound_lite/resources/artist'
9
+ require 'next_big_sound_lite/resources/genre'
10
+ require 'next_big_sound_lite/resources/metric'
11
+ require 'next_big_sound_lite/resources/profile'
12
+ require 'next_big_sound_lite/resources/service'
13
+
14
+ module NextBigSoundLite
15
+
16
+ class << self
17
+ attr_reader :base
18
+ attr_accessor :private_key
19
+ end
20
+
21
+ def self.api_key=(key)
22
+ @base = RestClient::Resource.new("http://#{key}.api3.nextbigsound.com")
23
+ end
24
+
25
+ self.api_key = 'key'
26
+
27
+ end
@@ -0,0 +1,59 @@
1
+ module NextBigSoundLite
2
+
3
+ class Resource
4
+ def self.resource(name)
5
+ NextBigSoundLite.base[name]
6
+ end
7
+
8
+ def self.get(resource)
9
+ begin
10
+ res = parse resource.get
11
+ if block_given?
12
+ yield res
13
+ else
14
+ res
15
+ end
16
+ # The API uses 400 Bad Request to indicate negative results
17
+ # such as 'no results found'.
18
+ rescue RestClient::BadRequest => e
19
+ false
20
+ end
21
+ end
22
+
23
+ def self.post(resource, params)
24
+ begin
25
+ parse resource.post(params)
26
+ rescue RestClient::BadRequest => e
27
+ false
28
+ end
29
+ end
30
+
31
+ def self.parse(response)
32
+ res = JSON.parse(response)
33
+ case res
34
+ when Array
35
+ if res.first.is_a? Hash
36
+ res.map { |hash| Hashie::Mash.new hash }
37
+ else
38
+ res
39
+ end
40
+ when Hash
41
+ Hashie::Mash.new res
42
+ else
43
+ res
44
+ end
45
+ end
46
+
47
+ # Next Big Sound returns some results as hashes with
48
+ # keys equal to id of the object and values as the
49
+ # relevant data. This creates an array that includes
50
+ # the id within the object.
51
+ def self.idfy(hash)
52
+ hash.to_a.map do |id, data|
53
+ data.dup.tap { |d| d.id = id }
54
+ end
55
+ end
56
+
57
+ end
58
+
59
+ end
@@ -0,0 +1,35 @@
1
+ module NextBigSoundLite
2
+
3
+ class Artist < Resource
4
+
5
+ def self.resource
6
+ super 'artists'
7
+ end
8
+
9
+ def self.find(id)
10
+ get resource["view/#{id}.json"]
11
+ end
12
+ class << self; alias :view :find; end
13
+
14
+ def self.search(q)
15
+ get resource["search.json?q=#{CGI.escape(q)}"] do |response|
16
+ idfy response
17
+ end
18
+ end
19
+
20
+ def self.ranking(type, ids)
21
+ ids = ids.join('-')
22
+ get resource["rank/#{type}/#{ids}.json"]
23
+ end
24
+
25
+ def self.add(name, profiles)
26
+ params = {
27
+ :key => NextBigSoundLite.private_key,
28
+ :name => name,
29
+ :profiles => profiles
30
+ }
31
+ post resource["add.json"], params
32
+ end
33
+ end
34
+
35
+ end
@@ -1,4 +1,4 @@
1
- module NBS
1
+ module NextBigSoundLite
2
2
 
3
3
  class Genre < Resource
4
4
 
@@ -7,8 +7,9 @@ module NBS
7
7
  end
8
8
 
9
9
  def self.artist(id)
10
- res = resource["artist/#{id}.json"].get
11
- JSON.parse(res)
10
+ get resource["artist/#{id}.json"] do |response|
11
+ idfy response
12
+ end
12
13
  end
13
14
  end
14
15
 
@@ -0,0 +1,49 @@
1
+ module NextBigSoundLite
2
+
3
+ class Metric < Resource
4
+
5
+ ALLOWED_METRICS = %w(all plays fans views comments downloads likes price)
6
+
7
+ def self.resource
8
+ super 'metrics'
9
+ end
10
+
11
+ # start and end can be either a Date or Time object
12
+ def self.profile(id, params = {})
13
+ get resource["profile/#{id}.json?#{querify params}"]
14
+ end
15
+
16
+ def self.artist(id, params = {})
17
+ get resource["artist/#{id}.json?#{querify params}"] do |response|
18
+ response.map do |metric|
19
+ Hashie::Mash.new Hash[metric.to_a.map { |k,v| [k.downcase, v] }]
20
+ end
21
+ end
22
+ end
23
+
24
+ private
25
+
26
+ def self.querify(params)
27
+ params[:start] &&= format_time(params[:start])
28
+ params[:end] &&= format_time(params[:end])
29
+ params[:metric] = (ALLOWED_METRICS & [params[:metric]]).first
30
+ params.to_a.map do |k,v|
31
+ "#{k}=#{CGI.escape(v)}" if !!v
32
+ end.compact.join("&")
33
+ end
34
+
35
+ def self.format_time(obj)
36
+ out = case obj
37
+ when Date
38
+ Time.local(obj.year, obj.mon, obj.mday)
39
+ when Time
40
+ obj
41
+ else
42
+ raise ArgumentError, "start/end times need to be Date or Time objects"
43
+ end
44
+ out.to_i.to_s
45
+ end
46
+
47
+ end
48
+
49
+ end
@@ -0,0 +1,29 @@
1
+ module NextBigSoundLite
2
+
3
+ class Profile < Resource
4
+
5
+ def self.resource
6
+ super 'profiles'
7
+ end
8
+
9
+ def self.artist(id)
10
+ get resource["artist/#{id}.json"]
11
+ end
12
+
13
+ def self.search(url)
14
+ get resource["search.json?u=#{CGI.escape(url)}"] do |response|
15
+ idfy response
16
+ end
17
+ end
18
+
19
+ def self.add(artist_id, profiles)
20
+ params = {
21
+ :key => NextBigSoundLite.private_key,
22
+ :profiles => profiles
23
+ }
24
+ post resource["add/#{artist_id}.json"], params
25
+ end
26
+
27
+ end
28
+
29
+ end
@@ -0,0 +1,19 @@
1
+ require 'cgi'
2
+
3
+ module NextBigSoundLite
4
+
5
+ class Service < Resource
6
+
7
+ def self.resource
8
+ super 'services.json'
9
+ end
10
+
11
+ def self.list
12
+ get resource do |response|
13
+ idfy response
14
+ end
15
+ end
16
+
17
+ end
18
+
19
+ end
@@ -0,0 +1,3 @@
1
+ module NextBigSoundLite
2
+ VERSION = "1.0.0"
3
+ end
@@ -0,0 +1,25 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "next_big_sound_lite/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "next-big-sound-lite"
7
+ s.version = NextBigSoundLite::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Roberto Thais"]
10
+ s.email = ["roberto.thais@gigmaven.com"]
11
+ s.homepage = ""
12
+ s.summary = %q{A small wrapper around the Next Big Sound API}
13
+ s.description = %q{A small wrapper around the Next Big Sound API}
14
+
15
+ s.rubyforge_project = "next-big-sound-lite"
16
+
17
+ s.add_dependency "rest-client"
18
+ s.add_dependency "hashie"
19
+ s.add_dependency "json"
20
+
21
+ s.files = `git ls-files`.split("\n")
22
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
23
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
24
+ s.require_paths = ["lib"]
25
+ end
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: next-big-sound-lite
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 2
8
- - 0
9
- version: 0.2.0
4
+ prerelease:
5
+ version: 1.0.0
10
6
  platform: ruby
11
7
  authors:
12
8
  - Roberto Thais
@@ -14,100 +10,93 @@ autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
12
 
17
- date: 2010-06-11 00:00:00 -04:00
13
+ date: 2011-04-22 00:00:00 -04:00
18
14
  default_executable:
19
15
  dependencies:
20
16
  - !ruby/object:Gem::Dependency
21
17
  name: rest-client
22
18
  prerelease: false
23
19
  requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
24
21
  requirements:
25
22
  - - ">="
26
23
  - !ruby/object:Gem::Version
27
- segments:
28
- - 0
29
24
  version: "0"
30
- type: :development
25
+ type: :runtime
31
26
  version_requirements: *id001
32
27
  - !ruby/object:Gem::Dependency
33
- name: json
28
+ name: hashie
34
29
  prerelease: false
35
30
  requirement: &id002 !ruby/object:Gem::Requirement
31
+ none: false
36
32
  requirements:
37
33
  - - ">="
38
34
  - !ruby/object:Gem::Version
39
- segments:
40
- - 0
41
35
  version: "0"
42
- type: :development
36
+ type: :runtime
43
37
  version_requirements: *id002
44
- description: Thin wrapper for the Next Big Sound API.
45
- email: roberto.n.thais@gmail.com
38
+ - !ruby/object:Gem::Dependency
39
+ name: json
40
+ prerelease: false
41
+ requirement: &id003 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: "0"
47
+ type: :runtime
48
+ version_requirements: *id003
49
+ description: A small wrapper around the Next Big Sound API
50
+ email:
51
+ - roberto.thais@gigmaven.com
46
52
  executables: []
47
53
 
48
54
  extensions: []
49
55
 
50
- extra_rdoc_files:
51
- - README.rdoc
52
- - lib/next-big-sound-lite.rb
53
- - lib/next-big-sound-lite/artist.rb
54
- - lib/next-big-sound-lite/genre.rb
55
- - lib/next-big-sound-lite/metric.rb
56
- - lib/next-big-sound-lite/profile.rb
57
- - lib/next-big-sound-lite/resource.rb
58
- - lib/next-big-sound-lite/service.rb
59
- - lib/next-big-sound-lite/track.rb
60
- - lib/next-big-sound-lite/youtube.rb
56
+ extra_rdoc_files: []
57
+
61
58
  files:
62
- - Manifest
63
- - README.rdoc
59
+ - .gitignore
60
+ - Gemfile
61
+ - README.md
64
62
  - Rakefile
65
- - init.rb
66
63
  - lib/next-big-sound-lite.rb
67
- - lib/next-big-sound-lite/artist.rb
68
- - lib/next-big-sound-lite/genre.rb
69
- - lib/next-big-sound-lite/metric.rb
70
- - lib/next-big-sound-lite/profile.rb
71
- - lib/next-big-sound-lite/resource.rb
72
- - lib/next-big-sound-lite/service.rb
73
- - lib/next-big-sound-lite/track.rb
74
- - lib/next-big-sound-lite/youtube.rb
75
- - next-big-sound-lite.gemspec
64
+ - lib/next_big_sound_lite.rb
65
+ - lib/next_big_sound_lite/resource.rb
66
+ - lib/next_big_sound_lite/resources/artist.rb
67
+ - lib/next_big_sound_lite/resources/genre.rb
68
+ - lib/next_big_sound_lite/resources/metric.rb
69
+ - lib/next_big_sound_lite/resources/profile.rb
70
+ - lib/next_big_sound_lite/resources/service.rb
71
+ - lib/next_big_sound_lite/version.rb
72
+ - next_big_sound_lite.gemspec
76
73
  has_rdoc: true
77
- homepage: http://github.com/rpbertp13/next-big-sound-lite
74
+ homepage: ""
78
75
  licenses: []
79
76
 
80
77
  post_install_message:
81
- rdoc_options:
82
- - --line-numbers
83
- - --inline-source
84
- - --title
85
- - Next-big-sound-lite
86
- - --main
87
- - README.rdoc
78
+ rdoc_options: []
79
+
88
80
  require_paths:
89
81
  - lib
90
82
  required_ruby_version: !ruby/object:Gem::Requirement
83
+ none: false
91
84
  requirements:
92
85
  - - ">="
93
86
  - !ruby/object:Gem::Version
94
- segments:
95
- - 0
96
87
  version: "0"
97
88
  required_rubygems_version: !ruby/object:Gem::Requirement
89
+ none: false
98
90
  requirements:
99
91
  - - ">="
100
92
  - !ruby/object:Gem::Version
101
- segments:
102
- - 1
103
- - 2
104
- version: "1.2"
93
+ version: "0"
105
94
  requirements: []
106
95
 
107
96
  rubyforge_project: next-big-sound-lite
108
- rubygems_version: 1.3.6
97
+ rubygems_version: 1.6.2
109
98
  signing_key:
110
99
  specification_version: 3
111
- summary: Thin wrapper for the Next Big Sound API.
100
+ summary: A small wrapper around the Next Big Sound API
112
101
  test_files: []
113
102
 
data/Manifest DELETED
@@ -1,13 +0,0 @@
1
- Manifest
2
- README.rdoc
3
- Rakefile
4
- init.rb
5
- lib/next-big-sound-lite.rb
6
- lib/next-big-sound-lite/artist.rb
7
- lib/next-big-sound-lite/genre.rb
8
- lib/next-big-sound-lite/metric.rb
9
- lib/next-big-sound-lite/profile.rb
10
- lib/next-big-sound-lite/resource.rb
11
- lib/next-big-sound-lite/service.rb
12
- lib/next-big-sound-lite/track.rb
13
- lib/next-big-sound-lite/youtube.rb
@@ -1,27 +0,0 @@
1
- == Next Big Sound Lite
2
-
3
- This gem wraps the next big sound JSON api. Read the API docs {here}[http://api.nextbigsound.com].
4
-
5
- Done? Then you can use this API.
6
-
7
- First setup the gem to use your API key:
8
-
9
- NBS.api_key = 'your_key'
10
-
11
- The methods of this wrapper are organized in the same way as the subsections of the API docs. For example to call the endpoint 'view' on Artists you should call:
12
-
13
- NBS::Artist.view(id)
14
-
15
- Notice that the receiver has a singular name (ala Rails Models)
16
-
17
- Another example:
18
-
19
- NBS::Metric.profile(id)
20
-
21
- Would call the Profile endpoint defined under the Metrics subsection. And so on.
22
-
23
- The one gotcha is the rank endpoint on the Artists subsection. It expects a type and an array of ids. E.g.
24
-
25
- NBS::Artist.rank(type, [365, 654, 123])
26
-
27
- All methods return parsed an array or a hash. No effort is made at this point to create objects out of the raw data. This is where 'lite' comes from :)
data/init.rb DELETED
@@ -1,2 +0,0 @@
1
- # init.rb
2
- require 'next-big-sound-lite'
@@ -1,31 +0,0 @@
1
- module NBS
2
-
3
- class Artist < Resource
4
-
5
- def self.resource
6
- super 'artists'
7
- end
8
-
9
- def self.view(id)
10
- res = resource["view/#{id}.json"].get
11
- JSON.parse(res)
12
- end
13
-
14
- def self.search(q)
15
- res = resource["search.json?q=#{CGI.escape(q)}"].get
16
- JSON.parse(res)
17
- end
18
-
19
- def self.ranking(type, ids)
20
- ids = ids.join('-')
21
- res = resource["rank/#{type}/#{ids}.json"].get
22
- JSON.parse(res)
23
- end
24
-
25
- def self.add(name)
26
- res = resource["add.json?n=#{CGI.escape(name)}&k=#{NBS.private_key}"].get
27
- JSON.parse(res)
28
- end
29
- end
30
-
31
- end
@@ -1,20 +0,0 @@
1
- module NBS
2
-
3
- class Metric < Resource
4
-
5
- def self.resource
6
- super 'metrics'
7
- end
8
-
9
- def self.profile(id)
10
- res = resource["profile/#{id}.json"].get
11
- JSON.parse(res)
12
- end
13
-
14
- def self.artist(id)
15
- res = resource["artist/#{id}.json"].get
16
- JSON.parse(res)
17
- end
18
- end
19
-
20
- end
@@ -1,26 +0,0 @@
1
- module NBS
2
-
3
- class Profile < Resource
4
-
5
- def self.resource
6
- super 'profiles'
7
- end
8
-
9
- def self.artist(id)
10
- res = resource["artist/#{id}.json"].get
11
- JSON.parse(res)
12
- end
13
-
14
- def self.search(url)
15
- res = resource["search.json?u=#{CGI.escape(url)}"].get
16
- JSON.parse(res)
17
- end
18
-
19
- def self.add(artist_id, url)
20
- res = resource["add/#{artist_id}.json?u=#{CGI::escape(url)}&k=#{NBS.private_key}"].get
21
- JSON.parse(res)
22
- end
23
-
24
- end
25
-
26
- end
@@ -1,10 +0,0 @@
1
- module NBS
2
-
3
- class Resource
4
- def self.resource(name)
5
- NBS.base[name]
6
- end
7
- end
8
-
9
- end
10
-
@@ -1,15 +0,0 @@
1
- module NBS
2
-
3
- class Service < Resource
4
-
5
- def self.resource
6
- super 'services'
7
- end
8
-
9
- def self.list
10
- JSON.parse(resource['.json'].get)
11
- end
12
-
13
- end
14
-
15
- end
@@ -1,20 +0,0 @@
1
- module NBS
2
-
3
- class Track < Resource
4
-
5
- def self.resource
6
- super 'tracks'
7
- end
8
-
9
- def self.artist(id)
10
- res = resource["artist/#{id}.json"].get
11
- JSON.parse(res)
12
- end
13
-
14
- def self.profile(id)
15
- res = resource["profile/#{id}.json"].get
16
- JSON.parse(res)
17
- end
18
- end
19
-
20
- end
@@ -1,16 +0,0 @@
1
- module NBS
2
-
3
- class Youtube < Resource
4
-
5
- def self.resource
6
- super 'youtube'
7
- end
8
-
9
- def self.artist(id)
10
- res = resource["artist/#{id}.json"].get
11
- JSON.parse(res)
12
- end
13
-
14
- end
15
-
16
- end
@@ -1,36 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- Gem::Specification.new do |s|
4
- s.name = %q{next-big-sound-lite}
5
- s.version = "0.2.0"
6
-
7
- s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Roberto Thais"]
9
- s.date = %q{2010-06-11}
10
- s.description = %q{Thin wrapper for the Next Big Sound API.}
11
- s.email = %q{roberto.n.thais@gmail.com}
12
- s.extra_rdoc_files = ["README.rdoc", "lib/next-big-sound-lite.rb", "lib/next-big-sound-lite/artist.rb", "lib/next-big-sound-lite/genre.rb", "lib/next-big-sound-lite/metric.rb", "lib/next-big-sound-lite/profile.rb", "lib/next-big-sound-lite/resource.rb", "lib/next-big-sound-lite/service.rb", "lib/next-big-sound-lite/track.rb", "lib/next-big-sound-lite/youtube.rb"]
13
- s.files = ["Manifest", "README.rdoc", "Rakefile", "init.rb", "lib/next-big-sound-lite.rb", "lib/next-big-sound-lite/artist.rb", "lib/next-big-sound-lite/genre.rb", "lib/next-big-sound-lite/metric.rb", "lib/next-big-sound-lite/profile.rb", "lib/next-big-sound-lite/resource.rb", "lib/next-big-sound-lite/service.rb", "lib/next-big-sound-lite/track.rb", "lib/next-big-sound-lite/youtube.rb", "next-big-sound-lite.gemspec"]
14
- s.homepage = %q{http://github.com/rpbertp13/next-big-sound-lite}
15
- s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Next-big-sound-lite", "--main", "README.rdoc"]
16
- s.require_paths = ["lib"]
17
- s.rubyforge_project = %q{next-big-sound-lite}
18
- s.rubygems_version = %q{1.3.6}
19
- s.summary = %q{Thin wrapper for the Next Big Sound API.}
20
-
21
- if s.respond_to? :specification_version then
22
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
23
- s.specification_version = 3
24
-
25
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
26
- s.add_development_dependency(%q<rest-client>, [">= 0"])
27
- s.add_development_dependency(%q<json>, [">= 0"])
28
- else
29
- s.add_dependency(%q<rest-client>, [">= 0"])
30
- s.add_dependency(%q<json>, [">= 0"])
31
- end
32
- else
33
- s.add_dependency(%q<rest-client>, [">= 0"])
34
- s.add_dependency(%q<json>, [">= 0"])
35
- end
36
- end