awesm 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -4,3 +4,4 @@ Gemfile.lock
4
4
  pkg/*
5
5
  .DS_Store
6
6
  tags
7
+ .rvmrc
data/README.md CHANGED
@@ -71,6 +71,27 @@ And in your code:
71
71
  )
72
72
  # => #<Awesm::Conversion account_conversionid=nil account_id="12" account_userid=nil awesm_url="awe.sm_5WXHo" clicker_id=nil converted_at=1323475432 href=nil id="bfdaddec-2298-43fb-9da0-f12d81febbf6" ip_address=nil language=nil redirection_id="94585739" referrer=nil session_id=nil type="goal_1" user_agent=nil value=1230>
73
73
 
74
+ # List projects
75
+ projects = Awesm::Project.list
76
+ projects.first.class # => Awesm::Project
77
+
78
+ # Create an awesm url
79
+ url = Awesm::Url.create(
80
+ :channel => 'twitter',
81
+ :key => '5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9',
82
+ :tool => 'mKU7uN',
83
+ :url => 'http://developers.awe.sm/'
84
+ )
85
+ url.awesm_url # => "http://demo.awe.sm/ELZ"
86
+
87
+ # Create a static url
88
+ url = Awesm::Url.static(
89
+ :url => 'http://developers.awe.sm/',
90
+ :key => '5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9',
91
+ :tool => 'mKU7uN'
92
+ )
93
+ url.awesm_url # => "http://demo.awe.sm/ELZ"
94
+
74
95
  # Create a sharing link
75
96
  Awesm::Url.share(
76
97
  :url => 'http://developers.awe.sm/',
@@ -84,14 +105,15 @@ And in your code:
84
105
  # => "http://api.awe.sm/url/share?v=3&url=http://developers.awe.sm/&key=5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9&tool=mKU7uN&channel=twitter&destination=http://twitter.com/intent/tweet?text=This+is+the+coolest+API+evar!%26url=AWESM_URL%26via=awesm&parent=awe.sm_s5d99&user_id=42"
85
106
 
86
107
  # Create a static link
87
- Awesm::Url.static(
108
+ url = Awesm::Url.static(
88
109
  :format => 'json',
89
110
  :url => 'http://developers.awe.sm/',
90
111
  :key => '5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9',
91
112
  :tool => 'mKU7uN'
92
113
  )
93
- # => "http://api.awe.sm/url/static.json?v=3&url=http://developers.awe.sm/&key=5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9&tool=mKU7uN"
114
+ url.awesm_url # => "http://demo.awe.sm/ELZ"
94
115
 
116
+ awesm_url="http://demo.awe.sm/K5s"
95
117
  # Retrieve stats in return for your hard work!
96
118
  stats = Awesm::Stats.range(
97
119
  :key => '5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9',
@@ -4,8 +4,8 @@ require "awesm/version"
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "awesm"
6
6
  s.version = Awesm::VERSION
7
- s.authors = ["Sathya Sekaran", "Michael Durnhofer"]
8
- s.email = ["sfsekaran@gmail.com", "mdurnhofer@gmail.com"]
7
+ s.authors = ["Sathya Sekaran", "Michael Durnhofer", "Cody Johnston"]
8
+ s.email = ["sfsekaran@gmail.com", "mdurnhofer@gmail.com", "cody@codegobl.in"]
9
9
  s.homepage = "http://github.com/sfsekaran/awesm"
10
10
  s.summary = %q{Totally awe.sm!}
11
11
  s.description = %q{The 'awesm' gem is an interface for awe.sm (http://totally.awe.sm), a social link analytics tracking service.}
@@ -19,14 +19,13 @@ Gem::Specification.new do |s|
19
19
 
20
20
  # specify any dependencies here;
21
21
  s.add_development_dependency "rake"
22
- s.add_development_dependency "rspec"
23
- s.add_development_dependency "webmock"
24
- s.add_development_dependency "httparty"
22
+ s.add_development_dependency "rspec", "= 2.7.0"
23
+ s.add_development_dependency "webmock", "= 1.7.8"
25
24
  s.add_development_dependency "json"
26
25
  s.add_development_dependency "hashie"
27
26
  s.add_development_dependency "ruby-debug"
28
27
 
29
- s.add_runtime_dependency "httparty"
28
+ s.add_runtime_dependency "httparty", "= 0.8.1"
30
29
  s.add_runtime_dependency "json"
31
30
  s.add_runtime_dependency "hashie"
32
31
  end
@@ -1,7 +1,13 @@
1
1
  module Awesm
2
- class Url
2
+ class Url < Hashie::Mash
3
+ include HTTParty
4
+ base_uri 'http://api.awe.sm/url'
3
5
  REQUIRED_SHARE_PARAMS = [:url, :key, :tool, :channel, :destination].freeze
4
- REQUIRED_STATIC_PARAMS = [:format, :url, :key, :tool].freeze
6
+
7
+ # Right now this method only supports the json format
8
+ def self.create(params = {})
9
+ call_api('.json', params)
10
+ end
5
11
 
6
12
  def self.share(params = {})
7
13
  if required_params_present?(REQUIRED_SHARE_PARAMS, params)
@@ -14,15 +20,18 @@ module Awesm
14
20
  end
15
21
  end
16
22
 
23
+ # Right now this method only supports the json format
17
24
  def self.static(params = {})
18
- if required_params_present?(REQUIRED_STATIC_PARAMS, params)
19
- options = params.clone
20
- options = options.delete_if{|key,value| REQUIRED_STATIC_PARAMS.include?(key) }
21
- query = options.map{|k,v| "#{k}=#{v}"}.join('&')
22
- static_url = "http://api.awe.sm/url/static.#{params[:format]}?v=3&url=#{params[:url]}&key=#{params[:key]}&tool=#{params[:tool]}"
23
- static_url += "&#{query}" if query.length > 0
24
- static_url
25
- end
25
+ call_api('/static.json', params)
26
+ end
27
+
28
+ #########
29
+ private #
30
+ #########
31
+
32
+ def self.call_api(action, params)
33
+ response = post(action, :query => { :v => 3 }.merge(params))
34
+ response.code >= 400 ? nil : new(response)
26
35
  end
27
36
 
28
37
  def self.required_params_present?(required_params, params)
@@ -1,3 +1,3 @@
1
1
  module Awesm
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.9"
3
3
  end
@@ -68,7 +68,7 @@ describe Awesm::Project do
68
68
  }.to_json
69
69
  end
70
70
 
71
- context '.create' do
71
+ describe '.create' do
72
72
  before do
73
73
  stub_request(:post, "http://api.awe.sm/projects/new?json=%7B%22name%22:%22TotallyAwesomeProject%22%7D&subscription_key=sub-xxxxxx&application_key=app-xxxxxx").
74
74
  to_return(:status => 200, :body => new_project_response, :headers => { 'Content-Type' => 'application/json;charset=utf-8' })
@@ -1,6 +1,130 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Awesm::Url do
4
+
5
+ before do
6
+ Awesm.subscription_key = 'sub-xxxxxx'
7
+ Awesm.application_key = 'app-xxxxxx'
8
+ end
9
+
10
+ after do
11
+ Awesm.subscription_key = nil
12
+ Awesm.application_key = nil
13
+ end
14
+
15
+ let(:invalid_params) {
16
+ { :bad => "param" }
17
+ }
18
+
19
+ describe '.create' do
20
+ let(:api_url) { "http://api.awe.sm/url.json" }
21
+
22
+ let(:required_params) {
23
+ {
24
+ :url => 'http://developers.awe.sm/',
25
+ :key => '5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9',
26
+ :tool => 'mKU7uN',
27
+ :channel => 'twitter'
28
+ }
29
+ }
30
+
31
+ let(:create_url_response) {
32
+ {
33
+ :application => "test",
34
+ :awesm_id => "demo.awe.sm_K5s",
35
+ :awesm_url => "http://demo.awe.sm/K5s",
36
+ :campaign => nil,
37
+ :campaign_metadata => {
38
+ :description => nil,
39
+ :name => nil
40
+ },
41
+ :channel => "facebook-post",
42
+ :created_at => "2011-10-04T18:00:57Z",
43
+ :domain => "demo.awe.sm",
44
+ :notes => nil,
45
+ :original_url => "http://developers.awe.sm/",
46
+ :parent => nil,
47
+ :path => "K5s",
48
+ :redirect_url => "http://developers.awe.sm/",
49
+ :service => "facebook",
50
+ :service_postid => nil,
51
+ :service_postid_metadata => {
52
+ :reach => nil,
53
+ :shared_at => nil
54
+ },
55
+ :service_userid => nil,
56
+ :sharer_id => nil,
57
+ :tag => nil,
58
+ :tool => "test-main",
59
+ :user_id => nil,
60
+ :user_id_metadata => {
61
+ :icon_url => nil,
62
+ :profile_url => nil,
63
+ :username => nil
64
+ }
65
+ }.to_json
66
+ }
67
+
68
+ let(:create_url_error_response) do
69
+ {
70
+ "request" => {
71
+ "action" => "create",
72
+ "awesm_url" => "awe.sm_5WXHo",
73
+ "controller" => "url",
74
+ "key" => "badkeyabcdefghijklmnopqrstuvwxyz1234567890"
75
+ },
76
+ "error" => {
77
+ "code" => 1000,
78
+ "message" => "Invalid API key"
79
+ }
80
+ }.to_json
81
+ end
82
+
83
+ before do
84
+ expected_params = required_params.merge(:v => 3)
85
+ stub_request(:post, api_url).
86
+ with(:query => expected_params).
87
+ to_return(:status => 200,
88
+ :body => create_url_response,
89
+ :headers => {
90
+ 'Content-Type' => 'application/json;charset=utf-8'
91
+ })
92
+ end
93
+
94
+ context 'when an error occurs' do
95
+ before do
96
+ expected_params = invalid_params.merge(:v => 3)
97
+ stub_request(:post, api_url).
98
+ with(:query => expected_params).
99
+ to_return(:status => 400,
100
+ :body => create_url_error_response,
101
+ :headers => {
102
+ 'Content-Type' => 'application/json;charset=utf-8'
103
+ })
104
+ end
105
+
106
+ it 'returns nil' do
107
+ url = Awesm::Url.create(:bad => 'param')
108
+ url.should == nil
109
+ end
110
+ end
111
+
112
+ context 'when successful' do
113
+ it 'returns an Awesm::Url' do
114
+ url = Awesm::Url.create(required_params)
115
+ url.should be_an_instance_of(Awesm::Url)
116
+ end
117
+ end
118
+
119
+ it 'posts to the awe.sm project creation api properly' do
120
+ expected_query = required_params.merge(:v => 3)
121
+ Awesm::Url.create(required_params)
122
+ a_request(:post, "http://api.awe.sm/url.json").
123
+ with(:query => expected_query).
124
+ should have_been_made.once
125
+ end
126
+ end
127
+
4
128
  describe '.share' do
5
129
  let(:required_parameters) do
6
130
  {
@@ -18,7 +142,7 @@ describe Awesm::Url do
18
142
  :tool => 'mKU7uN',
19
143
  :channel => 'twitter',
20
144
  :destination => 'http://twitter.com/intent/tweet?text=This+is+the+coolest+API+evar!%26url=AWESM_URL%26via=awesm').
21
- should == 'http://api.awe.sm/url/share?v=3&url=http://developers.awe.sm/&key=5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9&tool=mKU7uN&channel=twitter&destination=http://twitter.com/intent/tweet?text=This+is+the+coolest+API+evar!%26url=AWESM_URL%26via=awesm'
145
+ should == 'http://api.awe.sm/url/share?v=3&url=http://developers.awe.sm/&key=5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9&tool=mKU7uN&channel=twitter&destination=http://twitter.com/intent/tweet?text=This+is+the+coolest+API+evar!%26url=AWESM_URL%26via=awesm'
22
146
  end
23
147
 
24
148
  it 'returns nil if it receives an empty hash' do
@@ -29,83 +153,140 @@ describe Awesm::Url do
29
153
  Awesm::Url.share.should == nil
30
154
  end
31
155
 
32
- [[:campaign, 'my-campaign-1'],
33
- [:campaign_description, 'This is a description. Fun.'],
34
- [:campaign_name, 'My Campaign 1'],
35
- [:notes, 'This link is going to take down my site.'],
36
- [:parent, 'awe.sm_s5d99'],
37
- [:service_userid, 'twitter:13263'],
38
- [:tag, 'My-Tag'],
39
- [:user_id, '42']].each do |option, value|
40
- it "returns the correct awe.sm url when also passed a '#{option.to_s}' parameter" do
41
- Awesm::Url.share(required_parameters.merge(option => value)).
42
- should == "http://api.awe.sm/url/share?v=3&url=http://developers.awe.sm/&key=5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9&tool=mKU7uN&channel=twitter&destination=http://twitter.com/intent/tweet?text=This+is+the+coolest+API+evar!%26url=AWESM_URL%26via=awesm&#{option.to_s}=#{value}"
43
- end
44
- end
45
-
46
- it "accepts user_id related parameters" do
47
- url = Awesm::Url.share(required_parameters.merge(
48
- :user_id => 42,
49
- :user_id_icon_url => 'http://test.com/users/42/avatar.png',
50
- :user_id_profile_url => 'http://test.com/users/42/',
51
- :user_id_username => 'johndoe@test.com'
52
- ))
53
- url.should == "http://api.awe.sm/url/share?v=3&url=http://developers.awe.sm/&key=5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9&tool=mKU7uN&channel=twitter&destination=http://twitter.com/intent/tweet?text=This+is+the+coolest+API+evar!%26url=AWESM_URL%26via=awesm&user_id=42&user_id_icon_url=http://test.com/users/42/avatar.png&user_id_profile_url=http://test.com/users/42/&user_id_username=johndoe@test.com"
54
- end
156
+ [
157
+ [:campaign, 'my-campaign-1'],
158
+ [:campaign_description, 'This is a description. Fun.'],
159
+ [:campaign_name, 'My Campaign 1'],
160
+ [:notes, 'This link is going to take down my site.'],
161
+ [:parent, 'awe.sm_s5d99'],
162
+ [:service_userid, 'twitter:13263'],
163
+ [:tag, 'My-Tag'],
164
+ [:user_id, '42'],
165
+ [:user_id, '42'],
166
+ [:user_id_icon_url, 'http://test.com/users/42/avatar.png'],
167
+ [:user_id_profile_url, 'http://test.com/users/42/'],
168
+ [:user_id_username , 'johndoe@test.com']
169
+ ].each do |option, value|
170
+ it "returns the correct awe.sm url when also passed a '#{option.to_s}' parameter" do
171
+ Awesm::Url.share(required_parameters.merge(option => value)).
172
+ should == "http://api.awe.sm/url/share?v=3&url=http://developers.awe.sm/&key=5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9&tool=mKU7uN&channel=twitter&destination=http://twitter.com/intent/tweet?text=This+is+the+coolest+API+evar!%26url=AWESM_URL%26via=awesm&#{option.to_s}=#{value}"
173
+ end
174
+ end
55
175
 
56
176
  end
57
177
 
58
178
  describe '.static' do
59
- let(:required_parameters) do
179
+ let(:api_url) { "http://api.awe.sm/url/static.json" }
180
+
181
+ let(:valid_params) {
60
182
  {
61
- :format => 'json',
62
183
  :url => 'http://developers.awe.sm/',
63
184
  :key => '5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9',
64
- :tool => 'mKU7uN'
185
+ :tool => 'mKU7uN',
186
+ :channel => 'twitter',
187
+ :user_id => "23291",
188
+ :user_id_username => "jhstrauss",
189
+ :user_id_profile_url => "http://plancast.com/user/23291",
190
+ :user_id_icon_url => "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/41657_627286_9900_n.jpg"
65
191
  }
66
- end
192
+ }
67
193
 
68
- it 'returns the correct static awe.sm url when passed the required parameters' do
69
- Awesm::Url.static(:format => 'json',
70
- :url => 'http://developers.awe.sm/',
71
- :key => '5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9',
72
- :tool => 'mKU7uN').
73
- should == 'http://api.awe.sm/url/static.json?v=3&url=http://developers.awe.sm/&key=5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9&tool=mKU7uN'
74
- end
194
+ let(:static_url_response) {
195
+ {
196
+ :awesm_url => "http://demo.awe.sm/ELZ",
197
+ :awesm_id => "demo.awe.sm_ELZ",
198
+ :domain => "demo.awe.sm",
199
+ :path => "ELZ",
200
+ :created_at => "2011-08-19T23:39:15Z",
201
+ :redirect_url => "http://plancast.com/p/6xfs/silicon-valley-tweetup-summer-2011?utm_campaign=&utm_medium=demo.awe.sm-copypaste&utm_source=direct-demo.awe.sm&utm_content=test-main",
202
+ :original_url => "http://plancast.com/p/6xfs/silicon-valley-tweetup-summer-2011",
203
+ :channel => "copypaste",
204
+ :service => "copypaste",
205
+ :tool => "test-main",
206
+ :application => "test",
207
+ :parent => nil,
208
+ :sharer_id => nil,
209
+ :username =>nil,
210
+ :service_userid => nil,
211
+ :service_postid => nil,
212
+ :service_postid_metadata => {
213
+ :reach => nil,
214
+ :shared_at => nil
215
+ },
216
+ :campaign => nil,
217
+ :campaign_metadata => {
218
+ :description => nil,
219
+ :name => nil
220
+ },
221
+ :user_id => "23291",
222
+ :user_id_metadata => {
223
+ :icon_url => "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/41657_627286_9900_n.jpg",
224
+ :username => "jhstrauss",
225
+ :profile_url => "http://plancast.com/user/23291"
226
+ },
227
+ :tag => nil,
228
+ :notes => nil,
229
+ :new => false
230
+ }.to_json
231
+ }
75
232
 
76
- it 'returns nil if it receives an empty hash' do
77
- Awesm::Url.static({}).should == nil
233
+ let(:static_url_error_response) do
234
+ {
235
+ "request" => {
236
+ "action" => "static",
237
+ "awesm_url" => "awe.sm_5WXHo",
238
+ "controller" => "url",
239
+ "key" => "badkeyabcdefghijklmnopqrstuvwxyz1234567890"
240
+ },
241
+ "error" => {
242
+ "code" => 1000,
243
+ "message" => "Invalid API key"
244
+ }
245
+ }.to_json
78
246
  end
79
247
 
80
- it 'returns nil if it receives nothing' do
81
- Awesm::Url.static.should == nil
248
+ before do
249
+ expected_params = valid_params.merge(:v => 3)
250
+ stub_request(:post, api_url).
251
+ with(:query => expected_params).
252
+ to_return(:status => 200,
253
+ :body => static_url_response,
254
+ :headers => {
255
+ 'Content-Type' => 'application/json;charset=utf-8'
256
+ })
82
257
  end
83
258
 
84
- [[:channel, 'twitter'],
85
- [:campaign, 'my-campaign-1'],
86
- [:campaign_description, 'This is a description. Fun.'],
87
- [:campaign_name, 'My Campaign 1'],
88
- [:notes, 'This link is going to take down my site.'],
89
- [:parent, 'awe.sm_s5d99'],
90
- [:service_userid, 'twitter:13263'],
91
- [:tag, 'My-Tag'],
92
- [:user_id, '42']].each do |option, value|
93
- it "returns the correct static awe.sm url when also passed a '#{option.to_s}' parameter" do
94
- Awesm::Url.static(required_parameters.merge(option => value)).
95
- should == "http://api.awe.sm/url/static.json?v=3&url=http://developers.awe.sm/&key=5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9&tool=mKU7uN&#{option.to_s}=#{value}"
259
+ context 'when an error occurs' do
260
+ before do
261
+ expected_params = invalid_params.merge(:v => 3)
262
+ stub_request(:post, api_url).
263
+ with(:query => expected_params).
264
+ to_return(:status => 400,
265
+ :body => static_url_error_response,
266
+ :headers => {
267
+ 'Content-Type' => 'application/json;charset=utf-8'
268
+ })
269
+ end
270
+
271
+ it 'returns nil' do
272
+ url = Awesm::Url.static(:bad => 'param')
273
+ url.should == nil
96
274
  end
97
275
  end
98
276
 
99
- it "accepts user_id related parameters" do
100
- url = Awesm::Url.static(required_parameters.merge(
101
- :user_id => 42,
102
- :user_id_icon_url => 'http://test.com/users/42/avatar.png',
103
- :user_id_profile_url => 'http://test.com/users/42/',
104
- :user_id_username => 'johndoe@test.com'
105
- ))
106
- url.should == "http://api.awe.sm/url/static.json?v=3&url=http://developers.awe.sm/&key=5c8b1a212434c2153c2f2c2f2c765a36140add243bf6eae876345f8fd11045d9&tool=mKU7uN&user_id=42&user_id_icon_url=http://test.com/users/42/avatar.png&user_id_profile_url=http://test.com/users/42/&user_id_username=johndoe@test.com"
277
+ context 'when successful' do
278
+ it 'returns an Awesm::Url' do
279
+ url = Awesm::Url.static(valid_params)
280
+ url.should be_an_instance_of(Awesm::Url)
281
+ end
107
282
  end
108
283
 
284
+ it 'posts to the awe.sm project creation api properly' do
285
+ expected_query = valid_params.merge(:v => 3)
286
+ Awesm::Url.static(valid_params)
287
+ a_request(:post, "http://api.awe.sm/url/static.json").
288
+ with(:query => expected_query).
289
+ should have_been_made.once
290
+ end
109
291
  end
110
292
  end
111
-
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awesm
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 9
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 8
10
- version: 0.1.8
9
+ - 9
10
+ version: 0.1.9
11
11
  platform: ruby
12
12
  authors:
13
13
  - Sathya Sekaran
14
14
  - Michael Durnhofer
15
+ - Cody Johnston
15
16
  autorequire:
16
17
  bindir: bin
17
18
  cert_chain: []
18
19
 
19
- date: 2012-04-21 00:00:00 Z
20
+ date: 2012-05-11 00:00:00 Z
20
21
  dependencies:
21
22
  - !ruby/object:Gem::Dependency
22
23
  name: rake
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
24
+ version_requirements: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
27
  - - ">="
@@ -30,54 +30,44 @@ dependencies:
30
30
  segments:
31
31
  - 0
32
32
  version: "0"
33
+ prerelease: false
33
34
  type: :development
34
- version_requirements: *id001
35
+ requirement: *id001
35
36
  - !ruby/object:Gem::Dependency
36
37
  name: rspec
37
- prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
38
+ version_requirements: &id002 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
- - - ">="
41
+ - - "="
42
42
  - !ruby/object:Gem::Version
43
- hash: 3
43
+ hash: 19
44
44
  segments:
45
+ - 2
46
+ - 7
45
47
  - 0
46
- version: "0"
48
+ version: 2.7.0
49
+ prerelease: false
47
50
  type: :development
48
- version_requirements: *id002
51
+ requirement: *id002
49
52
  - !ruby/object:Gem::Dependency
50
53
  name: webmock
51
- prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
54
+ version_requirements: &id003 !ruby/object:Gem::Requirement
53
55
  none: false
54
56
  requirements:
55
- - - ">="
57
+ - - "="
56
58
  - !ruby/object:Gem::Version
57
- hash: 3
59
+ hash: 27
58
60
  segments:
59
- - 0
60
- version: "0"
61
- type: :development
62
- version_requirements: *id003
63
- - !ruby/object:Gem::Dependency
64
- name: httparty
61
+ - 1
62
+ - 7
63
+ - 8
64
+ version: 1.7.8
65
65
  prerelease: false
66
- requirement: &id004 !ruby/object:Gem::Requirement
67
- none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- hash: 3
72
- segments:
73
- - 0
74
- version: "0"
75
66
  type: :development
76
- version_requirements: *id004
67
+ requirement: *id003
77
68
  - !ruby/object:Gem::Dependency
78
69
  name: json
79
- prerelease: false
80
- requirement: &id005 !ruby/object:Gem::Requirement
70
+ version_requirements: &id004 !ruby/object:Gem::Requirement
81
71
  none: false
82
72
  requirements:
83
73
  - - ">="
@@ -86,12 +76,12 @@ dependencies:
86
76
  segments:
87
77
  - 0
88
78
  version: "0"
79
+ prerelease: false
89
80
  type: :development
90
- version_requirements: *id005
81
+ requirement: *id004
91
82
  - !ruby/object:Gem::Dependency
92
83
  name: hashie
93
- prerelease: false
94
- requirement: &id006 !ruby/object:Gem::Requirement
84
+ version_requirements: &id005 !ruby/object:Gem::Requirement
95
85
  none: false
96
86
  requirements:
97
87
  - - ">="
@@ -100,12 +90,12 @@ dependencies:
100
90
  segments:
101
91
  - 0
102
92
  version: "0"
93
+ prerelease: false
103
94
  type: :development
104
- version_requirements: *id006
95
+ requirement: *id005
105
96
  - !ruby/object:Gem::Dependency
106
97
  name: ruby-debug
107
- prerelease: false
108
- requirement: &id007 !ruby/object:Gem::Requirement
98
+ version_requirements: &id006 !ruby/object:Gem::Requirement
109
99
  none: false
110
100
  requirements:
111
101
  - - ">="
@@ -114,26 +104,28 @@ dependencies:
114
104
  segments:
115
105
  - 0
116
106
  version: "0"
107
+ prerelease: false
117
108
  type: :development
118
- version_requirements: *id007
109
+ requirement: *id006
119
110
  - !ruby/object:Gem::Dependency
120
111
  name: httparty
121
- prerelease: false
122
- requirement: &id008 !ruby/object:Gem::Requirement
112
+ version_requirements: &id007 !ruby/object:Gem::Requirement
123
113
  none: false
124
114
  requirements:
125
- - - ">="
115
+ - - "="
126
116
  - !ruby/object:Gem::Version
127
- hash: 3
117
+ hash: 61
128
118
  segments:
129
119
  - 0
130
- version: "0"
120
+ - 8
121
+ - 1
122
+ version: 0.8.1
123
+ prerelease: false
131
124
  type: :runtime
132
- version_requirements: *id008
125
+ requirement: *id007
133
126
  - !ruby/object:Gem::Dependency
134
127
  name: json
135
- prerelease: false
136
- requirement: &id009 !ruby/object:Gem::Requirement
128
+ version_requirements: &id008 !ruby/object:Gem::Requirement
137
129
  none: false
138
130
  requirements:
139
131
  - - ">="
@@ -142,12 +134,12 @@ dependencies:
142
134
  segments:
143
135
  - 0
144
136
  version: "0"
137
+ prerelease: false
145
138
  type: :runtime
146
- version_requirements: *id009
139
+ requirement: *id008
147
140
  - !ruby/object:Gem::Dependency
148
141
  name: hashie
149
- prerelease: false
150
- requirement: &id010 !ruby/object:Gem::Requirement
142
+ version_requirements: &id009 !ruby/object:Gem::Requirement
151
143
  none: false
152
144
  requirements:
153
145
  - - ">="
@@ -156,12 +148,14 @@ dependencies:
156
148
  segments:
157
149
  - 0
158
150
  version: "0"
151
+ prerelease: false
159
152
  type: :runtime
160
- version_requirements: *id010
153
+ requirement: *id009
161
154
  description: The 'awesm' gem is an interface for awe.sm (http://totally.awe.sm), a social link analytics tracking service.
162
155
  email:
163
156
  - sfsekaran@gmail.com
164
157
  - mdurnhofer@gmail.com
158
+ - cody@codegobl.in
165
159
  executables: []
166
160
 
167
161
  extensions: []
@@ -217,7 +211,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
217
211
  requirements: []
218
212
 
219
213
  rubyforge_project: awesm
220
- rubygems_version: 1.8.23
214
+ rubygems_version: 1.8.24
221
215
  signing_key:
222
216
  specification_version: 3
223
217
  summary: Totally awe.sm!