url_validator 0.0.4 → 0.0.5
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/Rakefile +3 -4
- data/lib/url_validator/version.rb +1 -1
- data/lib/url_validator.rb +1 -2
- data/spec/models/user_spec.rb +13 -2
- data/spec/resources/user.rb +1 -1
- data/spec/resources/user_with_blank.rb +2 -2
- data/spec/spec_helper.rb +1 -1
- data/url_validator.gemspec +1 -1
- metadata +5 -33
data/Rakefile
CHANGED
@@ -2,13 +2,12 @@ require 'bundler'
|
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
4
|
require 'rake'
|
5
|
-
require '
|
5
|
+
require 'rspec/core/rake_task'
|
6
6
|
|
7
7
|
Bundler::GemHelper.install_tasks
|
8
8
|
|
9
9
|
|
10
|
-
|
11
|
-
t.
|
12
|
-
t.spec_files = FileList['spec/**/*_spec.rb']
|
10
|
+
RSpec::Core::RakeTask.new('spec') do |t|
|
11
|
+
t.pattern = 'spec/**/*_spec.rb'
|
13
12
|
end
|
14
13
|
|
data/lib/url_validator.rb
CHANGED
@@ -11,11 +11,10 @@ module ActiveModel
|
|
11
11
|
schemes = options[:schemes] || %w(http https)
|
12
12
|
url_regexp = /^((#{schemes.join('|')}):\/\/){0,1}[a-z0-9]+([a-z0-9\-\.]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/ix
|
13
13
|
preffered_schema = options[:preffered_schema] || "#{schemes.first}://"
|
14
|
-
|
15
14
|
options[:attributes].each do |attribute|
|
16
15
|
value = record.send(attribute).to_s
|
17
16
|
next if value.blank? && (options[:allow_blank] || options[:allow_nil])
|
18
|
-
record.send("#{attribute}=", preffered_schema
|
17
|
+
record.send("#{attribute}=", preffered_schema + value) if !value.start_with?(*schemes)
|
19
18
|
normalized_value = record.send("#{attribute}_normalized")
|
20
19
|
begin
|
21
20
|
uri = Addressable::URI.parse(value)
|
data/spec/models/user_spec.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
1
3
|
require 'spec_helper'
|
2
4
|
|
3
5
|
describe "User" do
|
@@ -123,6 +125,15 @@ describe "User" do
|
|
123
125
|
@user.should be_valid
|
124
126
|
@user.errors[:website].should be_empty
|
125
127
|
end
|
128
|
+
|
129
|
+
it "should return correct data" do
|
130
|
+
@user.website = "website.com"
|
131
|
+
@user.url = "website.com/blog"
|
132
|
+
@user.should be_valid
|
133
|
+
@user.website.should == "http://website.com"
|
134
|
+
@user.url.should == "http://website.com/blog"
|
135
|
+
end
|
136
|
+
|
126
137
|
end
|
127
138
|
|
128
139
|
context "with ActiveRecord" do
|
@@ -222,7 +233,7 @@ describe "User" do
|
|
222
233
|
|
223
234
|
it "should show correct message" do
|
224
235
|
@user.valid?
|
225
|
-
@user.errors[:website].
|
236
|
+
@user.errors[:website].join.should == 'bad bad URL'
|
226
237
|
end
|
227
238
|
end
|
228
239
|
|
@@ -233,7 +244,7 @@ describe "User" do
|
|
233
244
|
|
234
245
|
it "should show correct message" do
|
235
246
|
@user.valid?
|
236
|
-
@user.errors[:website].
|
247
|
+
@user.errors[:website].join.should == 'is not a valid URL'
|
237
248
|
end
|
238
249
|
end
|
239
250
|
|
data/spec/resources/user.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
data/url_validator.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.rubyforge_project = "url_validator"
|
16
16
|
|
17
17
|
s.add_development_dependency "rspec"
|
18
|
-
s.add_development_dependency "ruby-
|
18
|
+
s.add_development_dependency "ruby-debug19"
|
19
19
|
s.add_development_dependency "sqlite3"
|
20
20
|
s.add_dependency "rails", "~>3.0.1"
|
21
21
|
s.add_dependency "addressable"
|
metadata
CHANGED
@@ -1,13 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: url_validator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 4
|
10
|
-
version: 0.0.4
|
4
|
+
prerelease:
|
5
|
+
version: 0.0.5
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- Zdenko Nevrala
|
@@ -15,7 +10,7 @@ autorequire:
|
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
12
|
|
18
|
-
date: 2011-05-
|
13
|
+
date: 2011-05-09 00:00:00 +02:00
|
19
14
|
default_executable:
|
20
15
|
dependencies:
|
21
16
|
- !ruby/object:Gem::Dependency
|
@@ -26,23 +21,17 @@ dependencies:
|
|
26
21
|
requirements:
|
27
22
|
- - ">="
|
28
23
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 3
|
30
|
-
segments:
|
31
|
-
- 0
|
32
24
|
version: "0"
|
33
25
|
type: :development
|
34
26
|
version_requirements: *id001
|
35
27
|
- !ruby/object:Gem::Dependency
|
36
|
-
name: ruby-
|
28
|
+
name: ruby-debug19
|
37
29
|
prerelease: false
|
38
30
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
31
|
none: false
|
40
32
|
requirements:
|
41
33
|
- - ">="
|
42
34
|
- !ruby/object:Gem::Version
|
43
|
-
hash: 3
|
44
|
-
segments:
|
45
|
-
- 0
|
46
35
|
version: "0"
|
47
36
|
type: :development
|
48
37
|
version_requirements: *id002
|
@@ -54,9 +43,6 @@ dependencies:
|
|
54
43
|
requirements:
|
55
44
|
- - ">="
|
56
45
|
- !ruby/object:Gem::Version
|
57
|
-
hash: 3
|
58
|
-
segments:
|
59
|
-
- 0
|
60
46
|
version: "0"
|
61
47
|
type: :development
|
62
48
|
version_requirements: *id003
|
@@ -68,11 +54,6 @@ dependencies:
|
|
68
54
|
requirements:
|
69
55
|
- - ~>
|
70
56
|
- !ruby/object:Gem::Version
|
71
|
-
hash: 5
|
72
|
-
segments:
|
73
|
-
- 3
|
74
|
-
- 0
|
75
|
-
- 1
|
76
57
|
version: 3.0.1
|
77
58
|
type: :runtime
|
78
59
|
version_requirements: *id004
|
@@ -84,9 +65,6 @@ dependencies:
|
|
84
65
|
requirements:
|
85
66
|
- - ">="
|
86
67
|
- !ruby/object:Gem::Version
|
87
|
-
hash: 3
|
88
|
-
segments:
|
89
|
-
- 0
|
90
68
|
version: "0"
|
91
69
|
type: :runtime
|
92
70
|
version_requirements: *id005
|
@@ -130,23 +108,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
130
108
|
requirements:
|
131
109
|
- - ">="
|
132
110
|
- !ruby/object:Gem::Version
|
133
|
-
hash: 3
|
134
|
-
segments:
|
135
|
-
- 0
|
136
111
|
version: "0"
|
137
112
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
138
113
|
none: false
|
139
114
|
requirements:
|
140
115
|
- - ">="
|
141
116
|
- !ruby/object:Gem::Version
|
142
|
-
hash: 3
|
143
|
-
segments:
|
144
|
-
- 0
|
145
117
|
version: "0"
|
146
118
|
requirements: []
|
147
119
|
|
148
120
|
rubyforge_project: url_validator
|
149
|
-
rubygems_version: 1.
|
121
|
+
rubygems_version: 1.6.2
|
150
122
|
signing_key:
|
151
123
|
specification_version: 3
|
152
124
|
summary: URL validator
|