url_scrubber 0.7.17 → 0.7.18
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.
- data/lib/url_scrubber/version.rb +1 -1
- data/lib/url_scrubber.rb +20 -2
- metadata +17 -5
- checksums.yaml +0 -7
data/lib/url_scrubber/version.rb
CHANGED
data/lib/url_scrubber.rb
CHANGED
@@ -14,7 +14,9 @@ module UrlScrubber
|
|
14
14
|
url = m[1]
|
15
15
|
url.sub!(/^https/, 'http')
|
16
16
|
url.sub!(/\/+$/, '')
|
17
|
+
url.sub!(/;+$/, '')
|
17
18
|
url.sub!('#!/', '')
|
19
|
+
url.sub!('%27', '\'')
|
18
20
|
url = downcase_domain(url)
|
19
21
|
remove_www!(url)
|
20
22
|
remove_html_tags!(url)
|
@@ -69,7 +71,7 @@ module UrlScrubber
|
|
69
71
|
when :twitter
|
70
72
|
!!url.match(%r{^http://twitter\.com/[\w_]+$})
|
71
73
|
when :facebook
|
72
|
-
!!url.match(%r{^http://facebook\.com/(profile\.php?id=\d+|[\w_\.-]+)$})
|
74
|
+
!!url.match(%r{^http://facebook\.com/(profile\.php?id=\d+|[\w_\.-]+)$}) || !!url.match(%r{^http://facebook\.com/groups/[\w_\.-]+$})
|
73
75
|
when :linkedin
|
74
76
|
!!url.match(%r{^http://linkedin\.com/pub/[\w-]+/[\w]+/[\w]+/[\w]+$}) || !!url.match(%r{^http://linkedin\.com/in/[\w_-]+$}) || !!url.match(%r{^http://linkedin\.com/(company/[\w_-]+|profile/view\?id=\d+)$}) || !!url.match(%r{^http://linkedin\.com/(groups\?gid=[0-9]+)$}) || !!url.match(%r{^http://linkedin\.com/(groups/[\w_-]+)$})
|
75
77
|
when :google
|
@@ -83,7 +85,7 @@ module UrlScrubber
|
|
83
85
|
when :yelp
|
84
86
|
!!url.match(%r{^http://yelp\.com/[\w_-]+$})
|
85
87
|
when :vimeo
|
86
|
-
!!url.match(%r{^http://vimeo\.com/[\w_-]+$}) && !url.match(%r{/\d+$})
|
88
|
+
(!!url.match(%r{^http://vimeo\.com/[\w_-]+$}) && !url.match(%r{/\d+$})) || !!url.match(%r{^http://vimeo\.com/groups/[\w_\.-]+$})
|
87
89
|
when :instagram
|
88
90
|
!!url.match(%r{^http://instagram\.com/[\w_]+$})
|
89
91
|
when :tumblr
|
@@ -156,6 +158,7 @@ module UrlScrubber
|
|
156
158
|
when :google then return sc_google_plus(url)
|
157
159
|
when :flickr then return sc_flickr(url)
|
158
160
|
when :pinterest then return sc_pinterest(url)
|
161
|
+
when :vimeo then return sc_vimeo(url)
|
159
162
|
when :yelp then return sc_yelp(url)
|
160
163
|
end
|
161
164
|
|
@@ -193,6 +196,19 @@ module UrlScrubber
|
|
193
196
|
url
|
194
197
|
end
|
195
198
|
|
199
|
+
def self.sc_vimeo(url)
|
200
|
+
if url.include?('vimeo.com/groups/')
|
201
|
+
groups_partition = url.partition('vimeo.com/groups/')
|
202
|
+
slash_partition = groups_partition[2].partition('/') if groups_partition[2] && groups_partition[2] != ""
|
203
|
+
if slash_partition[2] && slash_partition[2] != ""
|
204
|
+
# need to trim off the sub page stuff
|
205
|
+
garbage = slash_partition[1] + slash_partition[2]
|
206
|
+
url.gsub!(garbage, '')
|
207
|
+
end
|
208
|
+
end
|
209
|
+
url
|
210
|
+
end
|
211
|
+
|
196
212
|
def self.sc_twitter(url)
|
197
213
|
url.sub!('twitter.com/@', 'twitter.com/')
|
198
214
|
|
@@ -212,6 +228,8 @@ module UrlScrubber
|
|
212
228
|
def self.sc_facebook(url)
|
213
229
|
if url.match("/media/albums") || url.match("/media/set")
|
214
230
|
url = url.match('\&') ? url.split('&',2)[0] : url
|
231
|
+
elsif url.include?('facebook.com/groups/')
|
232
|
+
url = drop_url_query!(url)
|
215
233
|
elsif url.include?("facebook.com/profile.php?id=")
|
216
234
|
# these were being truncated, they do redirect, but typically a 301 response is generated
|
217
235
|
# so the url is returned unchanged. Better than truncation.
|
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: url_scrubber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.18
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Colin Langton
|
@@ -11,11 +12,12 @@ authors:
|
|
11
12
|
autorequire:
|
12
13
|
bindir: bin
|
13
14
|
cert_chain: []
|
14
|
-
date: 2014-04-
|
15
|
+
date: 2014-04-23 00:00:00.000000000 Z
|
15
16
|
dependencies:
|
16
17
|
- !ruby/object:Gem::Dependency
|
17
18
|
name: rspec
|
18
19
|
requirement: !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
19
21
|
requirements:
|
20
22
|
- - ~>
|
21
23
|
- !ruby/object:Gem::Version
|
@@ -23,6 +25,7 @@ dependencies:
|
|
23
25
|
type: :development
|
24
26
|
prerelease: false
|
25
27
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
26
29
|
requirements:
|
27
30
|
- - ~>
|
28
31
|
- !ruby/object:Gem::Version
|
@@ -30,6 +33,7 @@ dependencies:
|
|
30
33
|
- !ruby/object:Gem::Dependency
|
31
34
|
name: guard-bundler
|
32
35
|
requirement: !ruby/object:Gem::Requirement
|
36
|
+
none: false
|
33
37
|
requirements:
|
34
38
|
- - ~>
|
35
39
|
- !ruby/object:Gem::Version
|
@@ -37,6 +41,7 @@ dependencies:
|
|
37
41
|
type: :development
|
38
42
|
prerelease: false
|
39
43
|
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
40
45
|
requirements:
|
41
46
|
- - ~>
|
42
47
|
- !ruby/object:Gem::Version
|
@@ -44,6 +49,7 @@ dependencies:
|
|
44
49
|
- !ruby/object:Gem::Dependency
|
45
50
|
name: guard-rspec
|
46
51
|
requirement: !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
47
53
|
requirements:
|
48
54
|
- - ~>
|
49
55
|
- !ruby/object:Gem::Version
|
@@ -51,6 +57,7 @@ dependencies:
|
|
51
57
|
type: :development
|
52
58
|
prerelease: false
|
53
59
|
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
none: false
|
54
61
|
requirements:
|
55
62
|
- - ~>
|
56
63
|
- !ruby/object:Gem::Version
|
@@ -58,6 +65,7 @@ dependencies:
|
|
58
65
|
- !ruby/object:Gem::Dependency
|
59
66
|
name: terminal-notifier-guard
|
60
67
|
requirement: !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
61
69
|
requirements:
|
62
70
|
- - ! '>='
|
63
71
|
- !ruby/object:Gem::Version
|
@@ -65,6 +73,7 @@ dependencies:
|
|
65
73
|
type: :development
|
66
74
|
prerelease: false
|
67
75
|
version_requirements: !ruby/object:Gem::Requirement
|
76
|
+
none: false
|
68
77
|
requirements:
|
69
78
|
- - ! '>='
|
70
79
|
- !ruby/object:Gem::Version
|
@@ -72,6 +81,7 @@ dependencies:
|
|
72
81
|
- !ruby/object:Gem::Dependency
|
73
82
|
name: rb-fsevent
|
74
83
|
requirement: !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
75
85
|
requirements:
|
76
86
|
- - ~>
|
77
87
|
- !ruby/object:Gem::Version
|
@@ -79,6 +89,7 @@ dependencies:
|
|
79
89
|
type: :development
|
80
90
|
prerelease: false
|
81
91
|
version_requirements: !ruby/object:Gem::Requirement
|
92
|
+
none: false
|
82
93
|
requirements:
|
83
94
|
- - ~>
|
84
95
|
- !ruby/object:Gem::Version
|
@@ -107,26 +118,27 @@ files:
|
|
107
118
|
- url_scrubber.gemspec
|
108
119
|
homepage: http://brandle.net
|
109
120
|
licenses: []
|
110
|
-
metadata: {}
|
111
121
|
post_install_message:
|
112
122
|
rdoc_options: []
|
113
123
|
require_paths:
|
114
124
|
- lib
|
115
125
|
required_ruby_version: !ruby/object:Gem::Requirement
|
126
|
+
none: false
|
116
127
|
requirements:
|
117
128
|
- - ! '>='
|
118
129
|
- !ruby/object:Gem::Version
|
119
130
|
version: '0'
|
120
131
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
132
|
+
none: false
|
121
133
|
requirements:
|
122
134
|
- - ! '>='
|
123
135
|
- !ruby/object:Gem::Version
|
124
136
|
version: '0'
|
125
137
|
requirements: []
|
126
138
|
rubyforge_project:
|
127
|
-
rubygems_version:
|
139
|
+
rubygems_version: 1.8.21
|
128
140
|
signing_key:
|
129
|
-
specification_version:
|
141
|
+
specification_version: 3
|
130
142
|
summary: Clean up URLs.
|
131
143
|
test_files:
|
132
144
|
- spec/spec_helper.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: e190bb6babd544c3006ff9bee363274dea493f2d
|
4
|
-
data.tar.gz: 50ebc61fd01d8408814bafeeeea00731b1a1c29e
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 01a0987592be80476d471f1d68a8eb2ae3aa04cc488419360f5391814b2bca8a7a8391538fb2f0d6eb06bd2174673f63e5daff1aedd2e945084f6026238bed5f
|
7
|
-
data.tar.gz: d7bd07dee54435ded935405975f88feeeaba2ea8f0590d20474da8f9c65c2a57015abe9b9ab832850bfa1c7b57721964395324096173570ada1936590c2c15c2
|