validate_url 1.0.8 → 1.0.10

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
- SHA1:
3
- metadata.gz: e2f24b722e790d48ad428b1d8249bc7782770a38
4
- data.tar.gz: a63f7504960fede22e2d179a9dddab4e35cf30e3
2
+ SHA256:
3
+ metadata.gz: 70a15c71f5f41103a97ef5aad221018601dd24584210b10fe4b079f96fcc9fb0
4
+ data.tar.gz: 66c06e4b38d8d084c6adccc6060fa1b950bff8874e6c2eeaf53270c012d7b566
5
5
  SHA512:
6
- metadata.gz: 152ed2ee4b0e25d6425e58a7e802389a98b2eadd10b511c81fa02c8e164d212553eb2eccd71e0dbbd39d58dd3807a7e7f9501c5fbb82ea9e7d3f4877349521cc
7
- data.tar.gz: 2e96898b898c4c7f675dc81577cf81ae0b22910278ac036088a5db86f4d0b3f5ce05001c0a59c38c01a4337c1fb1f143df24398e9c34f2beef52154765062777
6
+ metadata.gz: acda957026f81ebcd4df320d46522244c48db058c1bef71accc70d85d9e852523ac8a477ad3b1983b4899a241e18d07c79e26c6e3c8bd923d588eec4dd8fc912
7
+ data.tar.gz: 0a9663a190ec81682eecf389b034bb9c29db606349cdc2a65584e868fab2b390166485161e8e1f80224ea5d1fc99a404264e3d24022697e0022c0e39378cfcc0
data/README.md CHANGED
@@ -8,7 +8,7 @@ This gem adds the capability of validating URLs to ActiveRecord and ActiveModel.
8
8
  # add this to your Gemfile
9
9
  gem "validate_url"
10
10
 
11
- # and run
11
+ # or run
12
12
  sudo gem install validate_url
13
13
  ```
14
14
 
@@ -51,6 +51,22 @@ class Unicorn
51
51
  end
52
52
  ```
53
53
 
54
+ ### With RSpec
55
+
56
+ Require the matcher in `spec_helper.rb` or `rails_helper.rb`:
57
+
58
+ ```ruby
59
+ require 'validate_url/rspec_matcher'
60
+ ```
61
+
62
+ In your spec:
63
+
64
+ ```ruby
65
+ describe Unicorn
66
+ it { is_expected.to validate_url_of(:homepage) }
67
+ end
68
+ ```
69
+
54
70
  ### I18n
55
71
 
56
72
  The default error message `is not a valid URL`.
@@ -70,3 +86,15 @@ Validates URL is created and maintained by [PerfectLine](http://www.perfectline.
70
86
 
71
87
  Validates URL is Copyright © 2010-2014 [PerfectLine](http://www.perfectline.co), LLC. It is free software, and may be
72
88
  redistributed under the terms specified in the LICENSE file.
89
+
90
+ ## How to push new version
91
+
92
+ ```
93
+ rake version:bump:patch
94
+ rake gemspec
95
+ ```
96
+ Fix validate_url.gemspec to remove unneeded wrong strings
97
+ ```
98
+ gem build validate_url.gemspec
99
+ gem push validate_url-1.0.8.gem
100
+ ```
@@ -1,4 +1,4 @@
1
1
  ja:
2
2
  errors:
3
3
  messages:
4
- url: は不正なURLです。
4
+ url: は不正なURLです
@@ -20,16 +20,16 @@ module ActiveModel
20
20
  def validate_each(record, attribute, value)
21
21
  schemes = [*options.fetch(:schemes)].map(&:to_s)
22
22
  begin
23
- escaped_uri = value ? URI.escape(value) : nil
24
- uri = URI.parse(escaped_uri)
23
+ uri = URI.parse(value)
25
24
  host = uri && uri.host
26
25
  scheme = uri && uri.scheme
27
26
 
28
- valid_suffix = !options.fetch(:public_suffix) || (host && PublicSuffix.valid?(host, :default_rule => nil))
29
- valid_no_local = !options.fetch(:no_local) || (host && host.include?('.'))
27
+ valid_raw_url = scheme && value =~ /\A#{URI::regexp([scheme])}\z/
30
28
  valid_scheme = host && scheme && schemes.include?(scheme)
29
+ valid_no_local = !options.fetch(:no_local) || (host && host.include?('.'))
30
+ valid_suffix = !options.fetch(:public_suffix) || (host && PublicSuffix.valid?(host, :default_rule => nil))
31
31
 
32
- unless valid_scheme && valid_no_local && valid_suffix
32
+ unless valid_raw_url && valid_scheme && valid_no_local && valid_suffix
33
33
  record.errors.add(attribute, options.fetch(:message), value: value)
34
34
  end
35
35
  rescue URI::InvalidURIError
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validate_url
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanel Suurhans
@@ -10,8 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-04-03 00:00:00.000000000 Z
13
+ date: 2020-05-15 00:00:00.000000000 Z
14
14
  dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: validate_url
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ">="
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '0'
15
29
  - !ruby/object:Gem::Dependency
16
30
  name: jeweler
17
31
  requirement: !ruby/object:Gem::Requirement
@@ -138,8 +152,8 @@ files:
138
152
  - lib/locale/tr.yml
139
153
  - lib/locale/zh-CN.yml
140
154
  - lib/locale/zh-TW.yml
141
- - lib/rspec_matcher.rb
142
155
  - lib/validate_url.rb
156
+ - lib/validate_url/rspec_matcher.rb
143
157
  homepage: http://github.com/perfectline/validates_url/tree/master
144
158
  licenses: []
145
159
  metadata: {}
@@ -158,8 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
172
  - !ruby/object:Gem::Version
159
173
  version: '0'
160
174
  requirements: []
161
- rubyforge_project:
162
- rubygems_version: 2.4.5.1
175
+ rubygems_version: 3.0.6
163
176
  signing_key:
164
177
  specification_version: 4
165
178
  summary: Library for validating urls in Rails.