jammed 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,11 +1,11 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem "httparty", ">= 0.8.2"
4
- gem "json"
3
+ gem "httparty", "~> 0.8.2"
4
+ gem "json", "~> 1.7.1"
5
5
 
6
6
  group :development do
7
- gem "rake", ">= 0.8.7"
8
- gem "jeweler", ">= 1.8.3"
9
- gem "rspec", ">= 2.9.0"
10
- gem "webmock", ">= 1.8.6"
7
+ gem "rake", "~> 0.9.2.2"
8
+ gem "jeweler", "~> 1.8.3"
9
+ gem "rspec", "~> 2.9.0"
10
+ gem "webmock", "~> 1.8.6"
11
11
  end
data/jammed.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "jammed"
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Sean Lerner", "Rob Young", "Mike Chlipala"]
12
- s.date = "2012-05-07"
12
+ s.date = "2012-05-15"
13
13
  s.description = "Jammed wraps the This Is My Jam API. More information about the This Is My Jam API can be found on their website (http://www.thisismyjam.com/developers)."
14
14
  s.email = ["seanslerner@gmail.com"]
15
15
  s.extra_rdoc_files = [
@@ -89,27 +89,27 @@ Gem::Specification.new do |s|
89
89
  s.specification_version = 3
90
90
 
91
91
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
92
- s.add_runtime_dependency(%q<httparty>, [">= 0.8.2"])
93
- s.add_runtime_dependency(%q<json>, [">= 0"])
94
- s.add_development_dependency(%q<rake>, [">= 0.8.7"])
95
- s.add_development_dependency(%q<jeweler>, [">= 1.8.3"])
96
- s.add_development_dependency(%q<rspec>, [">= 2.9.0"])
97
- s.add_development_dependency(%q<webmock>, [">= 1.8.6"])
92
+ s.add_runtime_dependency(%q<httparty>, ["~> 0.8.2"])
93
+ s.add_runtime_dependency(%q<json>, ["~> 1.7.1"])
94
+ s.add_development_dependency(%q<rake>, ["~> 0.9.2.2"])
95
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
96
+ s.add_development_dependency(%q<rspec>, ["~> 2.9.0"])
97
+ s.add_development_dependency(%q<webmock>, ["~> 1.8.6"])
98
98
  else
99
- s.add_dependency(%q<httparty>, [">= 0.8.2"])
100
- s.add_dependency(%q<json>, [">= 0"])
101
- s.add_dependency(%q<rake>, [">= 0.8.7"])
102
- s.add_dependency(%q<jeweler>, [">= 1.8.3"])
103
- s.add_dependency(%q<rspec>, [">= 2.9.0"])
104
- s.add_dependency(%q<webmock>, [">= 1.8.6"])
99
+ s.add_dependency(%q<httparty>, ["~> 0.8.2"])
100
+ s.add_dependency(%q<json>, ["~> 1.7.1"])
101
+ s.add_dependency(%q<rake>, ["~> 0.9.2.2"])
102
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
103
+ s.add_dependency(%q<rspec>, ["~> 2.9.0"])
104
+ s.add_dependency(%q<webmock>, ["~> 1.8.6"])
105
105
  end
106
106
  else
107
- s.add_dependency(%q<httparty>, [">= 0.8.2"])
108
- s.add_dependency(%q<json>, [">= 0"])
109
- s.add_dependency(%q<rake>, [">= 0.8.7"])
110
- s.add_dependency(%q<jeweler>, [">= 1.8.3"])
111
- s.add_dependency(%q<rspec>, [">= 2.9.0"])
112
- s.add_dependency(%q<webmock>, [">= 1.8.6"])
107
+ s.add_dependency(%q<httparty>, ["~> 0.8.2"])
108
+ s.add_dependency(%q<json>, ["~> 1.7.1"])
109
+ s.add_dependency(%q<rake>, ["~> 0.9.2.2"])
110
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
111
+ s.add_dependency(%q<rspec>, ["~> 2.9.0"])
112
+ s.add_dependency(%q<webmock>, ["~> 1.8.6"])
113
113
  end
114
114
  end
115
115
 
data/lib/jammed/api.rb CHANGED
@@ -14,7 +14,7 @@ module Jammed
14
14
  #
15
15
  # Jammed::API.request(:get, /IFTFOM/followers.json, :query => {:key => 'api_key', :order => 'affinity'})
16
16
  def self.request(method, path, opts={})
17
- base_uri = 'http://api.thisismyjam.com/1'
17
+ base_uri = opts[:https] ? 'https://api.thisismyjam.com/1' : 'http://api.thisismyjam.com/1'
18
18
 
19
19
  params = {}
20
20
  params[:path] = path
data/lib/jammed/base.rb CHANGED
@@ -3,11 +3,12 @@ module Jammed
3
3
  class Base
4
4
 
5
5
  #Stores the API key to be used for all method calls on the Jammed::Base object
6
- attr_reader :api_key
6
+ attr_reader :api_key, :https
7
7
 
8
8
  #Sets the API key + any options
9
9
  def initialize(api_key, opts={})
10
10
  @api_key = api_key
11
+ @https = opts[:https] ? opts[:https] : false
11
12
  end
12
13
 
13
14
  # Calls Jammed::Followers
@@ -26,6 +27,7 @@ module Jammed
26
27
  # jammed = Jammed.new('08972935872035')
27
28
  # jammed.followers('IFTFOM', :order => :date)
28
29
  def followers(username, opts={})
30
+ opts = opts.merge({:https => @https})
29
31
  Followers.followers(username, @api_key, opts)
30
32
  end
31
33
 
@@ -45,6 +47,7 @@ module Jammed
45
47
  # jammed = Jammed.new('08972935872035')
46
48
  # jammed.following('IFTFOM', :order => :date)
47
49
  def following(username, opts={})
50
+ opts = opts.merge({:https => @https})
48
51
  Following.following(username, @api_key, opts)
49
52
  end
50
53
 
@@ -64,6 +67,7 @@ module Jammed
64
67
  # jammed = Jammed.new('08972935872035')
65
68
  # jammed.jams('IFTFOM', :show => :current)
66
69
  def jams(username, opts={})
70
+ opts = opts.merge({:https => @https})
67
71
  Jams.jams(username, @api_key, opts)
68
72
  end
69
73
 
@@ -83,6 +87,7 @@ module Jammed
83
87
  # jammed = Jammed.new('08972935872035')
84
88
  # jammed.likes('IFTFOM', :show => :current)
85
89
  def likes(username, opts={})
90
+ opts = opts.merge({:https => @https})
86
91
  Likes.likes(username, @api_key, opts)
87
92
  end
88
93
 
@@ -93,7 +98,7 @@ module Jammed
93
98
  # jammed = Jammed.new('08972935872035')
94
99
  # jammed.popular_jams
95
100
  def popular_jams
96
- PopularJams.popular_jams(@api_key)
101
+ PopularJams.popular_jams(@api_key, @https)
97
102
  end
98
103
 
99
104
  # Calls Jammed::Person.profile
@@ -107,7 +112,7 @@ module Jammed
107
112
  # jammed = Jammed.new('08972935872035')
108
113
  # jammed.profile('IFTFOM')
109
114
  def profile(username)
110
- Person.profile(username, @api_key)
115
+ Person.profile(username, @api_key, @https)
111
116
  end
112
117
 
113
118
  # Calls Jammed::RandomJam.jam
@@ -117,7 +122,7 @@ module Jammed
117
122
  # jammed = Jammed.new('08972935872035')
118
123
  # jammed.random
119
124
  def random
120
- RandomJam.jam(@api_key)
125
+ RandomJam.jam(@api_key, @https)
121
126
  end
122
127
 
123
128
  # Calls Jammed::PeopleSearch.search_name
@@ -131,7 +136,7 @@ module Jammed
131
136
  # jammed = Jammed.new('08972935872035')
132
137
  # jammed.search_name('IFTFOM')
133
138
  def search_name(name)
134
- PeopleSearch.search_name(name, @api_key)
139
+ PeopleSearch.search_name(name, @api_key, @https)
135
140
  end
136
141
 
137
142
  # Calls Jammed::PeopleSearch.search_artist
@@ -145,7 +150,7 @@ module Jammed
145
150
  # jammed = Jammed.new('08972935872035')
146
151
  # jammed.search_artist('IFTFOM')
147
152
  def search_artist(artist)
148
- PeopleSearch.search_artist(artist, @api_key)
153
+ PeopleSearch.search_artist(artist, @api_key, @https)
149
154
  end
150
155
 
151
156
  # Calls Jammed::PeopleSearch.search_track
@@ -160,7 +165,7 @@ module Jammed
160
165
  # jammed = Jammed.new('08972935872035')
161
166
  # jammed.search_track('IFTFOM')
162
167
  def search_track(artist, track)
163
- PeopleSearch.search_track(artist, track, @api_key)
168
+ PeopleSearch.search_track(artist, track, @api_key, @https)
164
169
  end
165
170
 
166
171
  # Calls Jammed::SuggestedPeople.people
@@ -170,7 +175,7 @@ module Jammed
170
175
  # jammed = Jammed.new('08972935872035')
171
176
  # jammed.suggest_people
172
177
  def suggested_people
173
- SuggestedPeople.people(@api_key)
178
+ SuggestedPeople.people(@api_key, @https)
174
179
  end
175
180
 
176
181
  # Calls Jammed::User.new and creates a new User object for interacting with user specific data. It provides methods for interacting with user-specific data.
@@ -186,7 +191,7 @@ module Jammed
186
191
  # ift.profile
187
192
  # ift.jams(:show => :past)
188
193
  def user(username)
189
- User.new(username, @api_key)
194
+ User.new(username, @api_key, @https)
190
195
  end
191
196
  end
192
197
  end
@@ -1,3 +1,5 @@
1
+ require_relative 'api'
2
+
1
3
  module Jammed #:nodoc:
2
4
  # Provides methods for calling API endpoint /follower.json?
3
5
  class Followers < API
@@ -20,17 +22,17 @@ module Jammed #:nodoc:
20
22
  def self.followers(username, api_key, opts={})
21
23
  case(opts[:order])
22
24
  when nil
23
- response = request(:get, "/#{username}/followers.json",
24
- :query => {:key => api_key})
25
+ response = request(:get, "/#{username}/followers.json", {:https => opts[:https],
26
+ :query => {:key => api_key}})
25
27
  when :date
26
- response = request(:get, "/#{username}/followers.json",
27
- :query => {:order => 'followedDate', :key => api_key})
28
+ response = request(:get, "/#{username}/followers.json", {:https => opts[:https],
29
+ :query => {:order => 'followedDate', :key => api_key}})
28
30
  when :affinity
29
- response = request(:get, "/#{username}/followers.json",
30
- :query => {:order => 'affinity', :key => api_key})
31
+ response = request(:get, "/#{username}/followers.json", {:https => opts[:https],
32
+ :query => {:order => 'affinity', :key => api_key}})
31
33
  when :alpha
32
- response = request(:get, "/#{username}/followers.json",
33
- :query => {:order => 'name', :key => api_key})
34
+ response = request(:get, "/#{username}/followers.json", {:https => opts[:https],
35
+ :query => {:order => 'name', :key => api_key}})
34
36
  else
35
37
  return "Cannot order Followers by #{opts[:order]}"
36
38
  end
@@ -1,3 +1,5 @@
1
+ require_relative 'api'
2
+
1
3
  module Jammed #:nodoc:
2
4
  # Provides methods for calling API endpoint /following.json?
3
5
  class Following < API
@@ -20,17 +22,17 @@ module Jammed #:nodoc:
20
22
  def self.following(username, api_key, opts={})
21
23
  case(opts[:order])
22
24
  when nil
23
- response = request(:get, "/#{username}/following.json",
24
- :query => {:key => api_key})
25
+ response = request(:get, "/#{username}/following.json", {:https => opts[:https],
26
+ :query => {:key => api_key}})
25
27
  when :date
26
- response = request(:get, "/#{username}/following.json",
27
- :query => {:order => 'followedDate', :key => api_key})
28
+ response = request(:get, "/#{username}/following.json", {:https => opts[:https],
29
+ :query => {:order => 'followedDate', :key => api_key}})
28
30
  when :affinity
29
- response = request(:get, "/#{username}/following.json",
30
- :query => {:order => 'affinity', :key => api_key})
31
+ response = request(:get, "/#{username}/following.json", {:https => opts[:https],
32
+ :query => {:order => 'affinity', :key => api_key}})
31
33
  when :alpha
32
- response = request(:get, "/#{username}/following.json",
33
- :query => {:order => 'name', :key => api_key})
34
+ response = request(:get, "/#{username}/following.json", {:https => opts[:https],
35
+ :query => {:order => 'name', :key => api_key}})
34
36
  else
35
37
  return "Cannot order Followings by #{opts[:order]}"
36
38
  end
data/lib/jammed/jams.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require_relative 'api'
2
+
1
3
  module Jammed #:nodoc:
2
4
  # Provides methods for calling API endpoint /jams.json?
3
5
  class Jams < API
@@ -20,16 +22,16 @@ module Jammed #:nodoc:
20
22
  def self.jams(username, api_key, opts={})
21
23
  case(opts[:show])
22
24
  when nil
23
- response = request(:get, "/#{username}/jams.json",
24
- :query => {:key => api_key})
25
+ response = request(:get, "/#{username}/jams.json", {:https => opts[:https],
26
+ :query => {:key => api_key}})
25
27
  JSON.parse(response.body)['jams']
26
28
  when :past
27
- response = request(:get, "/#{username}/jams.json",
28
- :query => {:show => 'past', :key => api_key})
29
+ response = request(:get, "/#{username}/jams.json", {:https => opts[:https],
30
+ :query => {:show => 'past', :key => api_key}})
29
31
  JSON.parse(response.body)['jams']
30
32
  when :current
31
- response = request(:get, "/#{username}/jams.json",
32
- :query => {:key => api_key})
33
+ response = request(:get, "/#{username}/jams.json", {:https => opts[:https],
34
+ :query => {:key => api_key}})
33
35
  jams = JSON.parse(response.body)['jams'][0]
34
36
  jams['current'] ? jams : "No Current Jam"
35
37
  end
data/lib/jammed/likes.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require_relative 'api'
2
+
1
3
  module Jammed #:nodoc:
2
4
  # Provides methods for calling API endpoint /likes.json?
3
5
  class Likes < API
@@ -20,14 +22,14 @@ module Jammed #:nodoc:
20
22
  def self.likes(username, api_key, opts={})
21
23
  case(opts[:show])
22
24
  when nil
23
- response = request(:get, "/#{username}/likes.json",
24
- :query => {:key => api_key})
25
+ response = request(:get, "/#{username}/likes.json", {:https => opts[:https],
26
+ :query => {:key => api_key}})
25
27
  when :current
26
- response = request(:get, "/#{username}/likes.json",
27
- :query => {:show => 'current', :key => api_key})
28
+ response = request(:get, "/#{username}/likes.json", {:https => opts[:https],
29
+ :query => {:show => 'current', :key => api_key}})
28
30
  when :past
29
- response = request(:get, "/#{username}/likes.json",
30
- :query => {:show => 'past', :key => api_key})
31
+ response = request(:get, "/#{username}/likes.json", {:https => opts[:https],
32
+ :query => {:show => 'past', :key => api_key}})
31
33
  end
32
34
  JSON.parse(response.body)['jams']
33
35
  end
@@ -1,3 +1,4 @@
1
+ require_relative 'api'
1
2
  require 'uri'
2
3
 
3
4
  module Jammed #:nodoc:
@@ -14,9 +15,9 @@ module Jammed #:nodoc:
14
15
  # ==== Examples
15
16
  #
16
17
  # Jammed::PeopleSearch.search_name('IFTFOM', '08972935872035')
17
- def self.search_name(name, api_key)
18
- response = request(:get, "/search/person.json",
19
- :query => {:by => 'name', :q => "#{name.split.join('+')}", :key => api_key})
18
+ def self.search_name(name, api_key, https=false)
19
+ response = request(:get, "/search/person.json", {:https => https,
20
+ :query => {:by => 'name', :q => "#{name.split.join('+')}", :key => api_key}})
20
21
  JSON.parse(response.body)['people']
21
22
  end
22
23
 
@@ -30,9 +31,9 @@ module Jammed #:nodoc:
30
31
  # ==== Examples
31
32
  #
32
33
  # Jammed::PeopleSearch.search_artist('beach boys', '08972935872035')
33
- def self.search_artist(artist, api_key)
34
- response = request(:get, "/search/person.json",
35
- :query => {:by => 'artist', :q => "#{artist.split.join('+')}", :key => api_key})
34
+ def self.search_artist(artist, api_key, https=false)
35
+ response = request(:get, "/search/person.json", {:https => https,
36
+ :query => {:by => 'artist', :q => "#{artist.split.join('+')}", :key => api_key}})
36
37
  JSON.parse(response.body)['people']
37
38
  end
38
39
 
@@ -47,11 +48,11 @@ module Jammed #:nodoc:
47
48
  # ==== Examples
48
49
  #
49
50
  # Jammed::PeopleSearch.search_track('beach boys', 'good vibrations', '08972935872035')
50
- def self.search_track(artist, track, api_key)
51
- response = request(:get, "/search/person.json",
51
+ def self.search_track(artist, track, api_key, https=false)
52
+ response = request(:get, "/search/person.json", {:https => https,
52
53
  :query => {:by => 'track',
53
54
  :q => "#{artist.split.join('+')}|#{track.split.join('+')}",
54
- :key => api_key})
55
+ :key => api_key}})
55
56
  JSON.parse(response.body)['people']
56
57
  end
57
58
 
data/lib/jammed/person.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require_relative 'api'
2
+
1
3
  module Jammed #:nodoc:
2
4
  # Provides methods for calling API endpoint /username.json? and accessing user specific data
3
5
  class Person < API
@@ -6,8 +8,9 @@ module Jammed #:nodoc:
6
8
  # ==== Examples
7
9
  #
8
10
  # Jammed::Person.profile('IFTFOM', '08972935872035') #returns IFTFOM's profile data
9
- def self.profile(username, api_key)
10
- response = request(:get, "/#{username}.json", :query => {:key => api_key})
11
+ def self.profile(username, api_key, https=false)
12
+ response = request(:get, "/#{username}.json", {:https => https,
13
+ :query => {:key => api_key}})
11
14
  JSON.parse(response.body)["person"]
12
15
  end
13
16
 
@@ -1,3 +1,5 @@
1
+ require_relative 'api'
2
+
1
3
  module Jammed #:nodoc:
2
4
  # Provides method for calling API endpoint /popular.json?
3
5
  class PopularJams < API
@@ -6,8 +8,8 @@ module Jammed #:nodoc:
6
8
  # ==== Examples
7
9
  #
8
10
  # Jammed::PopularJams.popular_jams('08972935872035') #returns a sample of popular jams
9
- def self.popular_jams(api_key)
10
- response = request(:get, "/popular.json", :query => {:key => api_key})
11
+ def self.popular_jams(api_key, https=false)
12
+ response = request(:get, "/popular.json", {:https => https, :query => {:key => api_key}})
11
13
  JSON.parse(response.body)['jams']
12
14
  end
13
15
  end
data/lib/jammed/random.rb CHANGED
@@ -1,3 +1,5 @@
1
+ require_relative 'api'
2
+
1
3
  module Jammed #:nodoc:
2
4
  # Provides method for calling API endpoint /random.json?
3
5
  class RandomJam < API
@@ -6,8 +8,9 @@ module Jammed #:nodoc:
6
8
  # ==== Examples
7
9
  #
8
10
  # Jammed::RandomJam.jam('08972935872035') #returns a random jam + the profile of the user
9
- def self.jam(api_key)
10
- response = request(:get, "/random.json", :query => {:key => api_key})
11
+ def self.jam(api_key, https=false)
12
+ response = request(:get, "/random.json", {:https => https,
13
+ :query => {:key => api_key}})
11
14
  JSON.parse(response.body)
12
15
  end
13
16
  end
@@ -1,3 +1,5 @@
1
+ require_relative 'api'
2
+
1
3
  module Jammed #:nodoc:
2
4
  # Provides method for calling API endpoint /suggestedPeople.json?
3
5
  class SuggestedPeople < API
@@ -6,8 +8,9 @@ module Jammed #:nodoc:
6
8
  # ==== Examples
7
9
  #
8
10
  # Jammed::SuggestedPeople.people('08972935872035') #returns a list of users with many followers/likes
9
- def self.people(api_key)
10
- response = request(:get, "/suggestedPeople.json", :query => {:key => api_key})
11
+ def self.people(api_key, https=false)
12
+ response = request(:get, "/suggestedPeople.json", {:https => https,
13
+ :query => {:key => api_key}})
11
14
  JSON.parse(response.body)['people']
12
15
  end
13
16
  end
data/lib/jammed/user.rb CHANGED
@@ -14,12 +14,14 @@ module Jammed #:nodoc:
14
14
  # ==== Examples
15
15
  #
16
16
  # iftfom = Jammed::User.new('IFTFOM', '08972935872035')
17
- def initialize(username, api_key)
17
+ def initialize(username, api_key, https=false)
18
18
  @username = username
19
19
  @api_key = api_key
20
+ @https = https
20
21
  end
21
22
 
22
23
  def followers(opts={})
24
+ opts = opts.merge({:https => @https})
23
25
  @followers ||= Jammed::Followers.followers(@username, @api_key, opts)
24
26
  end
25
27
 
@@ -39,10 +41,12 @@ module Jammed #:nodoc:
39
41
  # user.followers #returns all followers of IFTFOM
40
42
  # user.followers(:order => :date) #reutrns IFTFOM's followers ordered by date
41
43
  def followers!(opts={})
44
+ opts = opts.merge({:https => @https})
42
45
  @followers = Jammed::Followers.followers(@username, @api_key, opts)
43
46
  end
44
47
 
45
48
  def following(opts={})
49
+ opts = opts.merge({:https => @https})
46
50
  @following ||= Jammed::Following.following(@username, @api_key, opts)
47
51
  end
48
52
 
@@ -62,10 +66,12 @@ module Jammed #:nodoc:
62
66
  # user.following #returns all followings of IFTFOM
63
67
  # user.following(:order => :date) #returns IFTFOM's followings ordered by date
64
68
  def following!(opts={})
69
+ opts = opts.merge({:https => @https})
65
70
  @following = Jammed::Following.following(@username, @api_key, opts)
66
71
  end
67
72
 
68
73
  def jams(opts={})
74
+ opts = opts.merge({:https => @https})
69
75
  @jams ||= Jammed::Jams.jams(@username, @api_key, opts)
70
76
  end
71
77
 
@@ -85,10 +91,12 @@ module Jammed #:nodoc:
85
91
  # user.jams #returns all jams of IFTFOM
86
92
  # user.jams(:show => :past) #returns IFTFOM's past jams
87
93
  def jams!(opts={})
94
+ opts = opts.merge({:https => @https})
88
95
  @jams = Jammed::Jams.jams(@username, @api_key, opts)
89
96
  end
90
97
 
91
98
  def likes(opts={})
99
+ opts = opts.merge({:https => @https})
92
100
  @likes ||= Jammed::Likes.likes(@username, @api_key, opts)
93
101
  end
94
102
 
@@ -108,11 +116,12 @@ module Jammed #:nodoc:
108
116
  # user.likes #returns all likes of IFTFOM
109
117
  # user.likes(:show => :past) #returns IFTFOM's past likes
110
118
  def likes!(opts={})
119
+ opts = opts.merge({:https => @https})
111
120
  @likes = Jammed::Likes.likes(@username, @api_key, opts)
112
121
  end
113
122
 
114
123
  def profile
115
- @profile ||= Jammed::Person.profile(@username, @api_key)
124
+ @profile ||= Jammed::Person.profile(@username, @api_key, @https)
116
125
  end
117
126
 
118
127
  # Clears cached Person data with a fresh call to Jammed::Person
@@ -122,7 +131,7 @@ module Jammed #:nodoc:
122
131
  # user = Jammed::User.new('IFTFOM', '08972935872035')
123
132
  # user.profile #returns entire profile of IFTFOM
124
133
  def profile!
125
- @profile = Jammed::Person.profile(@username, @api_key)
134
+ @profile = Jammed::Person.profile(@username, @api_key, @https)
126
135
  end
127
136
 
128
137
  # Checks user's profile for attribute and returns value if attribute key is found.
@@ -1,4 +1,4 @@
1
1
  module Jammed
2
2
  #:nodoc:
3
- VERSION = "0.1.1"
3
+ VERSION = "0.1.2"
4
4
  end
data/lib/jammed.rb CHANGED
@@ -11,11 +11,15 @@ module Jammed
11
11
  # ==== Attributes
12
12
  #
13
13
  # * +api_key+ - Sets the API key to use for all calls made with object
14
- # * +opts+ -Options hash. Does nothing at the moment.
14
+ # * +opts+ -Options hash
15
+ #
16
+ # ==== Options
17
+ #
18
+ # * +:https+ - Toggle use of HTTPS (defaults to false)
15
19
  #
16
20
  # ==== Examples
17
21
  #
18
- # jammed = Jammed.new('987bcab01b929eb2c07877b224215c92')
22
+ # jammed = Jammed.new('987bcab01b929eb2c07877b224215c92', :https => true)
19
23
  def new(api_key='987bcab01b929eb2c07877b224215c92', opts={})
20
24
  Jammed::Base.new(api_key, opts)
21
25
  end
@@ -14,6 +14,12 @@ module Jammed
14
14
  HTTParty.should_receive(:get).and_return(FakeResponse.new(200, 'this'))
15
15
  Jammed::API.request(:get, '/path')
16
16
  end
17
+ it "can use https" do
18
+ HTTParty.should_receive(:get).
19
+ with("https://api.thisismyjam.com/1/path", {:query=>nil, :body=>nil, :format=>:plain, :headers=>{"Accept"=>"application/json", "Content-Type"=>"application/json; charset=utf-8", "User-Agent"=>"Jammed/0.1.1"}}).
20
+ and_return(FakeResponse.new(200, 'this'))
21
+ Jammed::API.request(:get, '/path', :https => true)
22
+ end
17
23
  end
18
24
  end
19
25
  end
@@ -8,6 +8,14 @@ module Jammed
8
8
  let(:user) {'IFTFOM'}
9
9
 
10
10
  describe "#initialize" do
11
+ it "sets @https" do
12
+ jam = Jammed::Base.new(api_key, :https => true)
13
+ jam.https.should be true
14
+ end
15
+
16
+ it "defaults @https to false" do
17
+ jammed.https.should be false
18
+ end
11
19
  end
12
20
 
13
21
  describe "#followers" do
@@ -15,6 +23,11 @@ module Jammed
15
23
  Jammed::Followers.should_receive(:followers)
16
24
  jammed.followers(user)
17
25
  end
26
+
27
+ it "merges @https into opts" do
28
+ Jammed::Followers.should_receive(:followers).with(user, api_key, {:https => false})
29
+ jammed.followers(user)
30
+ end
18
31
  end
19
32
 
20
33
  describe "#following" do
@@ -89,7 +102,7 @@ module Jammed
89
102
 
90
103
  describe "#user" do
91
104
  it "calls Jammed::User.new" do
92
- Jammed::User.should_receive(:new).with(user, api_key)
105
+ Jammed::User.should_receive(:new).with(user, api_key, false)
93
106
  jammed.user(user)
94
107
  end
95
108
  end
@@ -12,11 +12,11 @@ module Jammed
12
12
  end
13
13
 
14
14
  it "parses the JSON return into an array of Jams" do
15
- Jammed::PopularJams.popular_jams(api_key).should be_an_instance_of Array
15
+ Jammed::PopularJams.popular_jams(api_key, false).should be_an_instance_of Array
16
16
  end
17
17
 
18
18
  it "gets popular jams from the api" do
19
- Jammed::PopularJams.popular_jams(api_key).should_not be_nil
19
+ Jammed::PopularJams.popular_jams(api_key, false).should_not be_nil
20
20
  end
21
21
  end
22
22
  end
@@ -12,11 +12,11 @@ module Jammed
12
12
  end
13
13
 
14
14
  it "parses the JSON return into a hash" do
15
- Jammed::RandomJam.jam(api_key).should be_an_instance_of Hash
15
+ Jammed::RandomJam.jam(api_key, false).should be_an_instance_of Hash
16
16
  end
17
17
 
18
18
  it "gets popular jams from the api" do
19
- Jammed::RandomJam.jam(api_key).should_not be_nil
19
+ Jammed::RandomJam.jam(api_key, false).should_not be_nil
20
20
  end
21
21
  end
22
22
  end
@@ -11,7 +11,7 @@ module Jammed
11
11
  end
12
12
 
13
13
  it "returns people from the API" do
14
- Jammed::SuggestedPeople.people(api_key).should_not be_nil
14
+ Jammed::SuggestedPeople.people(api_key, false).should_not be_nil
15
15
  end
16
16
  end
17
17
  end
@@ -22,7 +22,7 @@ module Jammed
22
22
  user.followers
23
23
  end
24
24
  it "sends @username + :order options to Jammed::Followers" do
25
- Jammed::Followers.should_receive(:followers).with('IFTFOM', api_key, {:order => :date})
25
+ Jammed::Followers.should_receive(:followers).with('IFTFOM', api_key, {:order => :date, :https=> false})
26
26
  user.followers(:order => :date)
27
27
  end
28
28
  it "saves followers in @followers" do
@@ -56,7 +56,7 @@ module Jammed
56
56
  user.following
57
57
  end
58
58
  it "sends @username + :order options to Jammed::Following" do
59
- Jammed::Following.should_receive(:following).with('IFTFOM', api_key, {:order => :date})
59
+ Jammed::Following.should_receive(:following).with('IFTFOM', api_key, {:order => :date, :https=> false})
60
60
  user.following(:order => :date)
61
61
  end
62
62
  it "saves followers in @following" do
@@ -89,7 +89,7 @@ module Jammed
89
89
  user.jams
90
90
  end
91
91
  it "sends @username + :show options to Jammed::Jams" do
92
- Jammed::Jams.should_receive(:jams).with('IFTFOM', api_key, {:show => :past})
92
+ Jammed::Jams.should_receive(:jams).with('IFTFOM', api_key, {:show => :past, :https=> false})
93
93
  user.jams(:show => :past)
94
94
  end
95
95
  it "saves jams in @jams" do
@@ -122,7 +122,7 @@ module Jammed
122
122
  user.likes
123
123
  end
124
124
  it "sends @username + :show options to Jammed::Likes" do
125
- Jammed::Likes.should_receive(:likes).with('IFTFOM', api_key, {:show => :past})
125
+ Jammed::Likes.should_receive(:likes).with('IFTFOM', api_key, {:show => :past, :https=> false})
126
126
  user.likes(:show => :past)
127
127
  end
128
128
  it "saves likes in @likes" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jammed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,74 +11,74 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-05-07 00:00:00.000000000Z
14
+ date: 2012-05-15 00:00:00.000000000Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: httparty
18
- requirement: &70115760365280 !ruby/object:Gem::Requirement
18
+ requirement: &70267027504900 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
- - - ! '>='
21
+ - - ~>
22
22
  - !ruby/object:Gem::Version
23
23
  version: 0.8.2
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *70115760365280
26
+ version_requirements: *70267027504900
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
- requirement: &70115760364640 !ruby/object:Gem::Requirement
29
+ requirement: &70267027503540 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
- - - ! '>='
32
+ - - ~>
33
33
  - !ruby/object:Gem::Version
34
- version: '0'
34
+ version: 1.7.1
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *70115760364640
37
+ version_requirements: *70267027503540
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: rake
40
- requirement: &70115760363900 !ruby/object:Gem::Requirement
40
+ requirement: &70267027502640 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ! '>='
43
+ - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: 0.8.7
45
+ version: 0.9.2.2
46
46
  type: :development
47
47
  prerelease: false
48
- version_requirements: *70115760363900
48
+ version_requirements: *70267027502640
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: jeweler
51
- requirement: &70115760363120 !ruby/object:Gem::Requirement
51
+ requirement: &70267027501520 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
- - - ! '>='
54
+ - - ~>
55
55
  - !ruby/object:Gem::Version
56
56
  version: 1.8.3
57
57
  type: :development
58
58
  prerelease: false
59
- version_requirements: *70115760363120
59
+ version_requirements: *70267027501520
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: rspec
62
- requirement: &70115760350480 !ruby/object:Gem::Requirement
62
+ requirement: &70267027500280 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
- - - ! '>='
65
+ - - ~>
66
66
  - !ruby/object:Gem::Version
67
67
  version: 2.9.0
68
68
  type: :development
69
69
  prerelease: false
70
- version_requirements: *70115760350480
70
+ version_requirements: *70267027500280
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: webmock
73
- requirement: &70115760349000 !ruby/object:Gem::Requirement
73
+ requirement: &70267027499040 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
- - - ! '>='
76
+ - - ~>
77
77
  - !ruby/object:Gem::Version
78
78
  version: 1.8.6
79
79
  type: :development
80
80
  prerelease: false
81
- version_requirements: *70115760349000
81
+ version_requirements: *70267027499040
82
82
  description: Jammed wraps the This Is My Jam API. More information about the This
83
83
  Is My Jam API can be found on their website (http://www.thisismyjam.com/developers).
84
84
  email:
@@ -164,7 +164,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
164
164
  version: '0'
165
165
  segments:
166
166
  - 0
167
- hash: 756853401178736676
167
+ hash: -3697197467534343952
168
168
  required_rubygems_version: !ruby/object:Gem::Requirement
169
169
  none: false
170
170
  requirements: