jammed 0.1.1 → 0.1.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/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: