tinyurl_shortener 1.0.1 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3e3bf569ac9a271b49b3ad04884fd06f0464d8df
4
- data.tar.gz: c2b4cb12bf1ea73533ad7128a620ef60c195ce35
3
+ metadata.gz: 83b7a36fa39b4799db6b15b074ec7d2de79a408d
4
+ data.tar.gz: d410df74d204508f6c70e253613a1bb4c2c6949c
5
5
  SHA512:
6
- metadata.gz: 0852bf041f5a6aa67c52c4f0d1a8534bc6449eeb38efa21c9f5e7fd692d5aa4734111192431851f652ac8a1638873b70dded9ed33e95696b63ff14667f708399
7
- data.tar.gz: 760dcf6577ada04f3712c0eecfa3af23051b755a0cfc7b0c52a005b6def152c58894dab827a6ad369f829f57b3e290226b989dfb4fd1695faaa6bc0c8a8485b7
6
+ metadata.gz: ae40a0a8e3cf6cbfc6ec59c21da53cebd9df4567f31fc7d00e565fb85896f26bc7bbfbbaa353e884c71b7db3e455c0b13149f341b4a10cc6584e9cbd65a54ec8
7
+ data.tar.gz: b4565e97776d557de75d3c0b1156b2a5878a8522c2669538c0007a5fb0b617ffb264d7d02449c527e22c0802edbf6415da5da0cd7e019d2e38f517132270959b
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
- gem "rest-client", "~> 2.0.0.rc1", :require => "rest_client"
4
+ gem "rest-client", ">= 1.7.0", :require => "rest_client"
data/README.md CHANGED
@@ -31,3 +31,4 @@ TinyurlShortener.expand("http://tinyurl.com/oybhnsm")
31
31
  ## Changes
32
32
 
33
33
  * 1.0.1 - fix issue of detecting url redirection when expanding tinyurl
34
+ * 1.0.2 - relax rest-client dependency
data/Rakefile CHANGED
@@ -1,2 +1,5 @@
1
1
  require "bundler/gem_tasks"
2
2
 
3
+ task :test do
4
+ system "bundle exec rspec spec/tinyurl_shortener_spec.rb"
5
+ end
@@ -1,3 +1,3 @@
1
1
  class TinyurlShortener
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -9,19 +9,20 @@ class TinyurlShortener
9
9
  end
10
10
 
11
11
  def self.expand(short_url)
12
- response = RestClient.get(short_url)
13
12
 
14
13
  # there are some ways that tinyurl redirects
15
14
  # * using 301 location redirection
16
15
  # * using content refresh redirection
17
16
  #
18
17
  # when we cannot detect the redirecting way, use current url for results
19
- if response.history.first && response.history.first.headers
20
- response.history.first.headers[:location]
21
- elsif ! (match = response.body.response.body.scan(/content=\\"1; url=(.*?)\\"/)).empty?
22
- match.last.first
23
- else
24
- response.request.url
18
+ RestClient.get(short_url) do |response, request, result, &block|
19
+ if [301, 302, 307].include? response.code
20
+ return response.headers[:location]
21
+ elsif ! (match = response.body.scan(/content="1; url=(.*?)"/)).empty?
22
+ return match.last.first
23
+ else
24
+ response.request.url
25
+ end
25
26
  end
26
27
  end
27
28
  end
@@ -22,5 +22,5 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency "rake", "~> 10.0"
23
23
  spec.add_development_dependency "rspec", "~> 2.11"
24
24
 
25
- spec.add_dependency "rest-client", "~> 2.0.0.rc1"
25
+ spec.add_dependency "rest-client", ">= 1.7", "< 2"
26
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tinyurl_shortener
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - hrs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-15 00:00:00.000000000 Z
11
+ date: 2015-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -56,16 +56,22 @@ dependencies:
56
56
  name: rest-client
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '1.7'
62
+ - - "<"
60
63
  - !ruby/object:Gem::Version
61
- version: 2.0.0.rc1
64
+ version: '2'
62
65
  type: :runtime
63
66
  prerelease: false
64
67
  version_requirements: !ruby/object:Gem::Requirement
65
68
  requirements:
66
- - - "~>"
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: '1.7'
72
+ - - "<"
67
73
  - !ruby/object:Gem::Version
68
- version: 2.0.0.rc1
74
+ version: '2'
69
75
  description: 'URL shortener and expander with tinyurl.com service. '
70
76
  email:
71
77
  - hrs113355@gmail.com