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 +4 -4
- data/Gemfile +1 -1
- data/README.md +1 -0
- data/Rakefile +3 -0
- data/lib/tinyurl_shortener/version.rb +1 -1
- data/lib/tinyurl_shortener.rb +8 -7
- data/tinyurl_shortener.gemspec +1 -1
- metadata +12 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83b7a36fa39b4799db6b15b074ec7d2de79a408d
|
4
|
+
data.tar.gz: d410df74d204508f6c70e253613a1bb4c2c6949c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ae40a0a8e3cf6cbfc6ec59c21da53cebd9df4567f31fc7d00e565fb85896f26bc7bbfbbaa353e884c71b7db3e455c0b13149f341b4a10cc6584e9cbd65a54ec8
|
7
|
+
data.tar.gz: b4565e97776d557de75d3c0b1156b2a5878a8522c2669538c0007a5fb0b617ffb264d7d02449c527e22c0802edbf6415da5da0cd7e019d2e38f517132270959b
|
data/Gemfile
CHANGED
data/README.md
CHANGED
data/Rakefile
CHANGED
data/lib/tinyurl_shortener.rb
CHANGED
@@ -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
|
-
|
20
|
-
response.
|
21
|
-
|
22
|
-
match.
|
23
|
-
|
24
|
-
|
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
|
data/tinyurl_shortener.gemspec
CHANGED
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.
|
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-
|
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
|
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
|
74
|
+
version: '2'
|
69
75
|
description: 'URL shortener and expander with tinyurl.com service. '
|
70
76
|
email:
|
71
77
|
- hrs113355@gmail.com
|