itrigga-net_helper 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/itrigga/net_helper.rb +7 -7
- data/spec/net_helper_spec.rb +6 -7
- data/spec/spec_helper.rb +2 -0
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
data/lib/itrigga/net_helper.rb
CHANGED
@@ -151,17 +151,17 @@ module Itrigga
|
|
151
151
|
|
152
152
|
# uses the url shortener service defined for this site
|
153
153
|
# by default will use bit.ly
|
154
|
-
def shorten_url(
|
154
|
+
def shorten_url(opts={})
|
155
|
+
opts[:attempts] ||= 0
|
156
|
+
return opts[:url] if opts[:attempts] > 3
|
155
157
|
|
156
|
-
|
157
|
-
|
158
|
-
url = self.format_url_shortener_api_url(raw_url)
|
158
|
+
api_url = self.format_url_shortener_api_url(opts[:url], opts[:config])
|
159
159
|
|
160
160
|
begin
|
161
|
-
response = NetHelper.get :url =>
|
161
|
+
response = NetHelper.get :url => api_url
|
162
162
|
rescue Exception => e
|
163
163
|
sleep 10 unless defined?(RAILS_ENV) && RAILS_ENV == "test"
|
164
|
-
return shorten_url(
|
164
|
+
return shorten_url(:url=>opts[:url], :attempts=>opts[:attempts]+1)
|
165
165
|
end
|
166
166
|
|
167
167
|
data = JSON.parse(response).recursive_symbolize_keys!
|
@@ -172,7 +172,7 @@ module Itrigga
|
|
172
172
|
else # theres been a problem, try again if we have tries left
|
173
173
|
|
174
174
|
sleep 10 unless defined?(RAILS_ENV) && RAILS_ENV == "test"
|
175
|
-
return shorten_url(
|
175
|
+
return shorten_url(:url=>opts[:url], :attempts=>opts[:attempts]+1)
|
176
176
|
|
177
177
|
end
|
178
178
|
|
data/spec/net_helper_spec.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require 'trigga/core_ext'
|
3
2
|
|
4
3
|
describe "Itrigga::NetHelper" do
|
5
4
|
before(:each) do
|
@@ -370,23 +369,23 @@ describe "Itrigga::NetHelper" do
|
|
370
369
|
end
|
371
370
|
|
372
371
|
describe "with valid input" do
|
373
|
-
it "should call format_url_shortener_api_url" do
|
374
|
-
Itrigga::NetHelper.should_receive(:format_url_shortener_api_url).with(@raw_url)
|
375
|
-
Itrigga::NetHelper.shorten_url(
|
372
|
+
it "should call format_url_shortener_api_url with the given url and config" do
|
373
|
+
Itrigga::NetHelper.should_receive(:format_url_shortener_api_url).with(@raw_url, {:blart=>'flange'})
|
374
|
+
Itrigga::NetHelper.shorten_url(:url=>@raw_url, :config=>{:blart=>'flange'})
|
376
375
|
end
|
377
376
|
|
378
377
|
it "should return a short url" do
|
379
|
-
Itrigga::NetHelper.shorten_url(
|
378
|
+
Itrigga::NetHelper.shorten_url(:url=>@raw_url).should == @shortened_url
|
380
379
|
end
|
381
380
|
|
382
381
|
it "should return raw_url on web request timesout" do
|
383
382
|
Itrigga::NetHelper.stub!(:get).and_raise(Exception)
|
384
|
-
Itrigga::NetHelper.shorten_url(
|
383
|
+
Itrigga::NetHelper.shorten_url(:url=>@raw_url).should == @raw_url
|
385
384
|
end
|
386
385
|
|
387
386
|
it "should return raw url for anything other than a status 200" do
|
388
387
|
Itrigga::NetHelper.stub!(:get).and_return("{\"status_code\":500,\"data\":{\"url\":\"#{@shortened_url}\"}}")
|
389
|
-
Itrigga::NetHelper.shorten_url(
|
388
|
+
Itrigga::NetHelper.shorten_url(:url=>@raw_url).should == @raw_url
|
390
389
|
end
|
391
390
|
|
392
391
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itrigga-net_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Al Davidson
|