tinyurl_shortener 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
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