google_url_shortener 1.0.2 → 1.1.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e305b9015368efdf787c8839a9c66d964c3067c
4
- data.tar.gz: 8271471adc23f1f9a3b0de93e324c44b5fbaaa07
3
+ metadata.gz: f9bec00dccb61bd1d1d9efcc91d4850402906fa8
4
+ data.tar.gz: ed9858ceeca4165a92761f1227de7cdfb0228cdd
5
5
  SHA512:
6
- metadata.gz: 51501b46ec6ca7e45f09d5b6f15547c7b893772a8bdf26640bb6ea50e939a8cecc1ef43ac4eb4df1198b83c4deed2f41674a5e9eb5553b5673c23e3ce61f9252
7
- data.tar.gz: b2cdda12774abd8112067d3ef10c154b066a555be77caeee12f247b062cc32a4c7482ec6b04ff3688d464205a7163b3452ab34c3b811150a5d83c702b4ff7361
6
+ metadata.gz: 70e83728d24df02058e8f23009940d36de3adf495b0b16f5e76af198114f5d9547a70fc7154aafb355c7330b23a764b8303e32fa883f5fbe3b807c285c3c9be0
7
+ data.tar.gz: 02e3a8b1a43567fab5cd6a3947d8ea0d21254133e5e0078dc2e373b46bfb1cbe1ee2c42a8a7c87fd1db64ea43e258197f1e816492aa224971700b911ae724aa9
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
21
21
 
22
22
  s.add_development_dependency "bundler", ">= 1.0.0"
23
23
  s.add_development_dependency "rspec", "2.8.0"
24
+ s.add_development_dependency "rspec-mocks", "2.8.0"
24
25
  s.add_development_dependency "fakeweb"
25
26
 
26
27
  s.files = `git ls-files`.split("\n")
@@ -2,6 +2,7 @@ module Google
2
2
  module UrlShortener
3
3
  class Base
4
4
  class << self
5
+ @@raise_exceptions = false
5
6
 
6
7
  def log=(logger)
7
8
  RestClient.log = logger
@@ -18,6 +19,14 @@ module Google
18
19
  raise MissingApiKey, "No API key has been set!"
19
20
  end
20
21
  end
22
+
23
+ def raise_exceptions=(bool)
24
+ @@raise_exceptions = !!bool
25
+ end
26
+
27
+ def raise_exceptions
28
+ @@raise_exceptions
29
+ end
21
30
  end
22
31
  end
23
32
  end
@@ -8,7 +8,11 @@ module Google
8
8
  response = RestClient.post(format_url, format_post_params(params), REQUEST_HEADERS)
9
9
  parse(response)
10
10
  rescue => e
11
- puts e.inspect
11
+ if self.class.raise_exceptions
12
+ raise e
13
+ else
14
+ puts e.inspect
15
+ end
12
16
  end
13
17
 
14
18
  def get(params={})
@@ -16,7 +20,11 @@ module Google
16
20
  response = RestClient.get(full_url)
17
21
  parse(response)
18
22
  rescue => e
19
- puts e.inspect
23
+ if self.class.raise_exceptions
24
+ raise e
25
+ else
26
+ puts e.inspect
27
+ end
20
28
  end
21
29
 
22
30
  private
@@ -1,5 +1,5 @@
1
1
  module Google
2
2
  module UrlShortener
3
- VERSION = "1.0.2"
3
+ VERSION = "1.1.0"
4
4
  end
5
5
  end
@@ -26,6 +26,24 @@ module Google
26
26
  url.created_at.month.should == 01
27
27
  url.created_at.day.should == 11
28
28
  end
29
+
30
+ it "should permit exceptions if raise_exceptions is true" do
31
+ RestClient.stub(:post) { raise RestClient::Request::RequestFailed }
32
+ prev_val = Base.raise_exceptions
33
+ Base.raise_exceptions = true
34
+
35
+ url = Google::UrlShortener::Url.new(:long_url => @long_url)
36
+ expect { url.shorten! }.to raise_error(RestClient::Request::RequestFailed)
37
+
38
+ Base.raise_exceptions = prev_val
39
+ end
40
+
41
+ it "should not raise exceptions if raise_exceptions is false" do
42
+ RestClient.stub(:post) { raise RestClient::Request::RequestFailed }
43
+
44
+ url = Google::UrlShortener::Url.new(:long_url => @long_url)
45
+ expect { url.shorten! }.to_not raise_error(RestClient::Request::RequestFailed)
46
+ end
29
47
  end
30
48
  end
31
49
  end
@@ -6,6 +6,7 @@ require 'fakeweb'
6
6
  include FakewebHelper
7
7
 
8
8
  RSpec.configure do |config|
9
+ config.mock_framework = :rspec
9
10
 
10
11
  config.before(:all) do
11
12
  Google::UrlShortener::Base.api_key = "TESTKEY"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google_url_shortener
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Nesbitt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-20 00:00:00.000000000 Z
11
+ date: 2016-05-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
82
  version: 2.8.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec-mocks
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '='
88
+ - !ruby/object:Gem::Version
89
+ version: 2.8.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 2.8.0
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: fakeweb
85
99
  requirement: !ruby/object:Gem::Requirement