roshi 0.8.0 → 0.9.0
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 +5 -5
- data/README.md +4 -3
- data/lib/roshi.rb +1 -1
- data/lib/roshi/active_model/validations/email_validator.rb +1 -1
- data/lib/roshi/active_model/validations/hiragana_validator.rb +2 -1
- data/lib/roshi/active_model/validations/katakana_validator.rb +12 -0
- data/lib/roshi/active_model/validations/phone_number_validator.rb +5 -5
- data/lib/roshi/version.rb +1 -1
- data/roshi.gemspec +3 -3
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: '0299322983ffc79bebf28dc2f3fe565358cccc519c951431b4334956ddc0bd15'
|
4
|
+
data.tar.gz: 8a411586358501cbaba8bdac48a2f138995fecca26c08946c4aa6fd56d69bc9a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29f04b76606b7bcf6db5f0055f2841c3db9f6719cbed77d5ca1b2a344077953144af44c1e2dc7b6bd6806bf0829a0cf422befefec95c60f764f177b07d7a01d1
|
7
|
+
data.tar.gz: b6152c193cc72fdcfa8e69273f912da792274c685832b45a4d6311a02bd49faee786e2f9be5cb11cfbd8e4715f14db71cacb17fd511e77e08c4ed6621988cd2d
|
data/README.md
CHANGED
@@ -29,10 +29,11 @@ class TestModel
|
|
29
29
|
validates :zip_code, zip_code: true # zip_code: { hiphenation: true }
|
30
30
|
validates :phone_number, phone_number: true # phone_number: { hiphenation: true }
|
31
31
|
validates :date, date: true
|
32
|
-
validates :hiragana, hiragana: true
|
32
|
+
validates :hiragana, hiragana: true # hiragana: { allow_space: true }
|
33
|
+
validates :katakana, katakana: true # katakana: { allow_space: true }
|
33
34
|
validates :version_number, version_number: true
|
34
|
-
validates :accept_word, available_word: {accept_words: %w(accept available)}
|
35
|
-
validates :reject_word, available_word: {reject_words: %w(reject unavailable)}
|
35
|
+
validates :accept_word, available_word: { accept_words: %w(accept available) }
|
36
|
+
validates :reject_word, available_word: { reject_words: %w(reject unavailable) }
|
36
37
|
validates :large_value, numerical_comparison: { greater_than: :small_value }
|
37
38
|
validates :large_value, numerical_comparison: { greater_than_or_equal_to: :small_value }
|
38
39
|
validates :large_value, numerical_comparison: { equal_to: :small_value }
|
data/lib/roshi.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'active_model'
|
2
2
|
require 'roshi/version'
|
3
3
|
%w(
|
4
|
-
email zip_code phone_number date hiragana
|
4
|
+
email zip_code phone_number date hiragana katakana
|
5
5
|
version_number available_word numerical_comparison
|
6
6
|
).each do |validator_name|
|
7
7
|
require "roshi/active_model/validations/#{validator_name}_validator"
|
@@ -3,7 +3,7 @@ module ActiveModel
|
|
3
3
|
class EmailValidator < EachValidator
|
4
4
|
def validate_each(record, attribute, value)
|
5
5
|
# http://emailregex.com
|
6
|
-
unless value =~
|
6
|
+
unless value =~ URI::MailTo::EMAIL_REGEXP
|
7
7
|
record.errors.add(attribute, options[:message] || I18n.t('errors.messages.invalid'))
|
8
8
|
end
|
9
9
|
end
|
@@ -2,7 +2,8 @@ module ActiveModel
|
|
2
2
|
module Validations
|
3
3
|
class HiraganaValidator < EachValidator
|
4
4
|
def validate_each(record, attribute, value)
|
5
|
-
|
5
|
+
space = options[:allow_space] ? '[:blank:]' : ''
|
6
|
+
unless value =~ /\A[\p{hiragana}#{space}ー-]*\z/i
|
6
7
|
record.errors.add(attribute, options[:message] || I18n.t('errors.messages.invalid'))
|
7
8
|
end
|
8
9
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module ActiveModel
|
2
|
+
module Validations
|
3
|
+
class KatakanaValidator < EachValidator
|
4
|
+
def validate_each(record, attribute, value)
|
5
|
+
space = options[:allow_space] ? '[:blank:]' : ''
|
6
|
+
unless value =~ /\A[\p{katakana}ー-#{space}]*\z/i
|
7
|
+
record.errors.add(attribute, options[:message] || I18n.t('errors.messages.invalid'))
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -2,9 +2,9 @@ module ActiveModel
|
|
2
2
|
module Validations
|
3
3
|
class PhoneNumberValidator < EachValidator
|
4
4
|
REGEXES = {
|
5
|
-
default: /\
|
6
|
-
with_hiphenation: /\
|
7
|
-
without_hiphenation: /\
|
5
|
+
default: /\A0\d{1,4}\-?\d{1,4}\-?\d{1,4}\z/i,
|
6
|
+
with_hiphenation: /\A0\d{1,4}\-\d{1,4}\-\d{1,4}\z/i,
|
7
|
+
without_hiphenation: /\A0\d{9,10}\z/i
|
8
8
|
}
|
9
9
|
|
10
10
|
def validate_each(record, attribute, value)
|
@@ -16,8 +16,8 @@ module ActiveModel
|
|
16
16
|
when options[:hiphenation] == false
|
17
17
|
REGEXES[:without_hiphenation]
|
18
18
|
end
|
19
|
-
|
20
|
-
unless value =~ regexp
|
19
|
+
valid_length = [10, 11].include?((value.gsub('-', '').length))
|
20
|
+
unless value =~ regexp && valid_length
|
21
21
|
record.errors.add(attribute, options[:message] || I18n.t('errors.messages.invalid'))
|
22
22
|
end
|
23
23
|
end
|
data/lib/roshi/version.rb
CHANGED
data/roshi.gemspec
CHANGED
@@ -6,8 +6,8 @@ require 'roshi/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = 'roshi'
|
8
8
|
spec.version = Roshi::VERSION
|
9
|
-
spec.authors = ['kawahiro311', 'Kta-M']
|
10
|
-
spec.email = ['hiro.kawasaki0311@gmail.com', 'mohri1219@gmail.com']
|
9
|
+
spec.authors = ['kawahiro311', 'Kta-M', 'nmbakfm']
|
10
|
+
spec.email = ['hiro.kawasaki0311@gmail.com', 'mohri1219@gmail.com', 'nmbakfm@gmail.com']
|
11
11
|
|
12
12
|
spec.summary = %q{ActiveModel/ActiveRecord Validation Collection}
|
13
13
|
spec.description = %q{ActiveModel/ActiveRecord Validation Collection For Mainly Japanese}
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
|
19
19
|
spec.add_dependency 'activemodel'
|
20
20
|
spec.add_development_dependency 'bundler', "~> 1.9"
|
21
|
-
spec.add_development_dependency 'rake', "~>
|
21
|
+
spec.add_development_dependency 'rake', "~> 12.3.3"
|
22
22
|
spec.add_development_dependency 'rspec'
|
23
23
|
spec.add_development_dependency 'pry'
|
24
24
|
end
|
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roshi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kawahiro311
|
8
8
|
- Kta-M
|
9
|
+
- nmbakfm
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date:
|
13
|
+
date: 2021-03-04 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: activemodel
|
@@ -45,14 +46,14 @@ dependencies:
|
|
45
46
|
requirements:
|
46
47
|
- - "~>"
|
47
48
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
49
|
+
version: 12.3.3
|
49
50
|
type: :development
|
50
51
|
prerelease: false
|
51
52
|
version_requirements: !ruby/object:Gem::Requirement
|
52
53
|
requirements:
|
53
54
|
- - "~>"
|
54
55
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
56
|
+
version: 12.3.3
|
56
57
|
- !ruby/object:Gem::Dependency
|
57
58
|
name: rspec
|
58
59
|
requirement: !ruby/object:Gem::Requirement
|
@@ -85,6 +86,7 @@ description: ActiveModel/ActiveRecord Validation Collection For Mainly Japanese
|
|
85
86
|
email:
|
86
87
|
- hiro.kawasaki0311@gmail.com
|
87
88
|
- mohri1219@gmail.com
|
89
|
+
- nmbakfm@gmail.com
|
88
90
|
executables: []
|
89
91
|
extensions: []
|
90
92
|
extra_rdoc_files: []
|
@@ -101,6 +103,7 @@ files:
|
|
101
103
|
- lib/roshi/active_model/validations/date_validator.rb
|
102
104
|
- lib/roshi/active_model/validations/email_validator.rb
|
103
105
|
- lib/roshi/active_model/validations/hiragana_validator.rb
|
106
|
+
- lib/roshi/active_model/validations/katakana_validator.rb
|
104
107
|
- lib/roshi/active_model/validations/numerical_comparison_validator.rb
|
105
108
|
- lib/roshi/active_model/validations/phone_number_validator.rb
|
106
109
|
- lib/roshi/active_model/validations/version_number_validator.rb
|
@@ -125,8 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
128
|
- !ruby/object:Gem::Version
|
126
129
|
version: '0'
|
127
130
|
requirements: []
|
128
|
-
|
129
|
-
rubygems_version: 2.5.1
|
131
|
+
rubygems_version: 3.0.3
|
130
132
|
signing_key:
|
131
133
|
specification_version: 4
|
132
134
|
summary: ActiveModel/ActiveRecord Validation Collection
|