any-validate 0.0.3 → 0.0.4
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/README.md +4 -1
- data/any-validate.gemspec +1 -1
- data/lib/any/validate.rb +2 -0
- data/lib/any/validate/mailaddress.rb +33 -0
- data/lib/any/validate/version.rb +1 -1
- data/spec/any/validate/mailaddress_spec.rb +41 -0
- data/spec/any/validate/version_spec.rb +2 -2
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 88e0dfc95111326865c3bfcaec5c59c2a3b273aa
|
4
|
+
data.tar.gz: e6dd0534bcf0c897bc03847e72a392ba705d2ac2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ce566e065e9be2f0d4fc03f9b526b0147b54e13a5eabe87384a32688edc991a05aa425882284d93914486697af95e96f778fb74c25fe4b439262710f93b061a9
|
7
|
+
data.tar.gz: e69469312f9e2fbdedf198a1d5f10c69a5690f5272b9c59c8a42a1027897a96ac0e2fdcb694a79fc00fe610fe86c5a95f109bae7794af79edd05087fe8f5d58a
|
data/README.md
CHANGED
@@ -31,12 +31,15 @@ class Hoge
|
|
31
31
|
|
32
32
|
valid_macaddress? mac: 'B4:B5:2F:63:0F:7C' #=> true
|
33
33
|
valid_macaddress? mac: 'B4:B5:2F:63:0F:7G' #=> false
|
34
|
+
|
35
|
+
valid_uuid? uuid: 'FEAAF64D-6132-44DD-8779-C2E297B622B5' #=> true
|
36
|
+
valid_uuid? uuid: 'FEAAF64D-6132-44DD-8779-C2E297B622B51' #=> false
|
34
37
|
end
|
35
38
|
```
|
36
39
|
|
37
40
|
## Contributing
|
38
41
|
|
39
|
-
1. Fork it ( https://github.com/
|
42
|
+
1. Fork it ( https://github.com/youyo/any-validate/fork )
|
40
43
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
41
44
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
42
45
|
4. Push to the branch (`git push origin my-new-feature`)
|
data/any-validate.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["1003ni2@gmail.com"]
|
11
11
|
spec.summary = %q{Validate the various things.}
|
12
12
|
spec.description = %q{Validate the various things.}
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "https://github.com/youyo/any-validate"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
data/lib/any/validate.rb
CHANGED
@@ -2,7 +2,9 @@ require "any/validate/version"
|
|
2
2
|
require "any/validate/ipaddress"
|
3
3
|
require "any/validate/macaddress"
|
4
4
|
require "any/validate/uuid"
|
5
|
+
require "any/validate/mailaddress"
|
5
6
|
|
6
7
|
include Any::Validate::Ipaddress
|
7
8
|
include Any::Validate::Macaddress
|
8
9
|
include Any::Validate::Uuid
|
10
|
+
include Any::Validate::Mailaddress
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Any
|
2
|
+
module Validate
|
3
|
+
module Mailaddress
|
4
|
+
|
5
|
+
def valid_mailaddress? mail: nil
|
6
|
+
# http://tmtms.hatenablog.com/entry/2014/09/09/mailaddress-regexp
|
7
|
+
return true if mail =~
|
8
|
+
/\A
|
9
|
+
# 全体で256文字以下
|
10
|
+
(?=.{,256}\z)
|
11
|
+
# local-partは64文字以下でdomainは255文字以下
|
12
|
+
(?=.{,64}@.{,255}\z)
|
13
|
+
# local-part
|
14
|
+
(
|
15
|
+
# dot-atom
|
16
|
+
(?<atom>[0-9a-z!\#$%&'*+\-\/=?^_`{|}~]+)
|
17
|
+
(\.\g<atom>)*
|
18
|
+
|
|
19
|
+
# quoted-string
|
20
|
+
\"([\x09\x20\x21\x23-\x5b\x5d-\x7e]|\\[\x09\x20-\x7e])*\"
|
21
|
+
)@
|
22
|
+
# domain
|
23
|
+
(?<sub_domain>[0-9a-z]([0-9a-z-]{,61}[0-9a-z])?)
|
24
|
+
(\.\g<sub_domain>)*
|
25
|
+
\z/ix
|
26
|
+
return false
|
27
|
+
rescue
|
28
|
+
return false
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/any/validate/version.rb
CHANGED
@@ -0,0 +1,41 @@
|
|
1
|
+
describe Any::Validate::Mailaddress do
|
2
|
+
|
3
|
+
describe '#valid_mailaddress?' do
|
4
|
+
context 'when mailaddress is test@example.com' do
|
5
|
+
it 'return true' do
|
6
|
+
expect( valid_mailaddress? mail: 'test@example.com' ).to be(true)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
context 'when mailaddress is .test@example.com' do
|
10
|
+
it 'return false' do
|
11
|
+
expect( valid_mailaddress? mail: '.test@example.com' ).to be(false)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
context 'when mailaddress is 1234567890123456789012345678901234567890123456789012345678901234@example.com' do
|
15
|
+
it 'return true' do
|
16
|
+
expect( valid_mailaddress? mail: '1234567890123456789012345678901234567890123456789012345678901234@example.com' ).to be(true)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
context 'when mailaddress is 12345678901234567890123456789012345678901234567890123456789012345@example.com' do
|
20
|
+
it 'return false' do
|
21
|
+
expect( valid_mailaddress? mail: '12345678901234567890123456789012345678901234567890123456789012345@example.com' ).to be(false)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
context 'when mailaddress is a@123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012examle.com' do
|
25
|
+
it 'return true' do
|
26
|
+
expect( valid_mailaddress? mail: 'a@123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012examle.com' ).to be(true)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
context 'when mailaddress is a@123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123examle.com' do
|
30
|
+
it 'return false' do
|
31
|
+
expect( valid_mailaddress? mail: 'a@123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.12345678901234567890123456789012345678901234567890123examle.com' ).to be(false)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
context 'when mailaddress is ab@123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012examle.com' do
|
35
|
+
it 'return false' do
|
36
|
+
expect( valid_mailaddress? mail: 'ab@123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.123456789012345678901234567890123456789012345678901234567890123.1234567890123456789012345678901234567890123456789012examle.com' ).to be(false)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
describe Any::Validate do
|
2
2
|
describe 'VERSION' do
|
3
3
|
|
4
|
-
it 'should be 0.0.
|
5
|
-
expect( Any::Validate::VERSION ).to eql('0.0.
|
4
|
+
it 'should be 0.0.4' do
|
5
|
+
expect( Any::Validate::VERSION ).to eql('0.0.4')
|
6
6
|
end
|
7
7
|
it 'should be a String' do
|
8
8
|
expect( Any::Validate::VERSION ).to be_a(String)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: any-validate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- youyo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -68,14 +68,16 @@ files:
|
|
68
68
|
- lib/any/validate.rb
|
69
69
|
- lib/any/validate/ipaddress.rb
|
70
70
|
- lib/any/validate/macaddress.rb
|
71
|
+
- lib/any/validate/mailaddress.rb
|
71
72
|
- lib/any/validate/uuid.rb
|
72
73
|
- lib/any/validate/version.rb
|
73
74
|
- spec/any/validate/ipaddress_spec.rb
|
74
75
|
- spec/any/validate/macaddress_spec.rb
|
76
|
+
- spec/any/validate/mailaddress_spec.rb
|
75
77
|
- spec/any/validate/uuid_spec.rb
|
76
78
|
- spec/any/validate/version_spec.rb
|
77
79
|
- spec/spec_helper.rb
|
78
|
-
homepage:
|
80
|
+
homepage: https://github.com/youyo/any-validate
|
79
81
|
licenses:
|
80
82
|
- MIT
|
81
83
|
metadata: {}
|
@@ -102,6 +104,7 @@ summary: Validate the various things.
|
|
102
104
|
test_files:
|
103
105
|
- spec/any/validate/ipaddress_spec.rb
|
104
106
|
- spec/any/validate/macaddress_spec.rb
|
107
|
+
- spec/any/validate/mailaddress_spec.rb
|
105
108
|
- spec/any/validate/uuid_spec.rb
|
106
109
|
- spec/any/validate/version_spec.rb
|
107
110
|
- spec/spec_helper.rb
|