be_valid 0.1.5 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 321b08decb577f0a5e7ceded71bf6c05829cd877a28f2b377f606e2f56cf6e61
4
- data.tar.gz: c68cb42238a0480b4c2768b159fe7dca5bb690004f43027df728bdeca71b0f23
3
+ metadata.gz: 7edccd354585b1c23c1b623e936e48a442e63084ffdb50ec723c8e6c484d88dc
4
+ data.tar.gz: 8f1a9f325cf407a462749673476eedba4257df10d9a58520bfa686b31d9cadda
5
5
  SHA512:
6
- metadata.gz: f085944be0b2681549ef91f534d2fb3a888d95be819f5bbd2e7143ac8d03817322229d5bbd1f8b46705dfe11c447006049f10c60fd301b7b4a6fa76f64c62e1e
7
- data.tar.gz: c9f38ad043a959f56386d785b747197e0e6936867532a315348b47227858615040e8a0c3c20c7dca654f8292c815257f868d0eea9fd829072330219169f18f0b
6
+ metadata.gz: f870bf1181a47bef15e48054ca0276090a55a9340f93dccb538e6ea94a62e15949c1b47c0c688c3347fa8f51ea6c0cbccfba19c51c23480acdb440f2c15d53b7
7
+ data.tar.gz: 36de4519138b8e10897ac761b99c71fb3b7726808ff11e3ef2ad5bc94cff19852dea31b8d4dedf835b3c025598ed1a832b08941053ba7adf1ebf5a3587d899a1
@@ -0,0 +1,24 @@
1
+ name: Ruby
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ ruby-version: ['2.6', '2.7', '3.0']
15
+
16
+ steps:
17
+ - uses: actions/checkout@v2
18
+ - name: Set up Ruby
19
+ uses: ruby/setup-ruby@v1
20
+ with:
21
+ ruby-version: ${{ matrix.ruby-version }}
22
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
23
+ - name: Run tests
24
+ run: bundle exec rake
data/Gemfile.lock CHANGED
@@ -1,43 +1,42 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- be_valid (0.1.4)
4
+ be_valid (0.1.6)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- activemodel (5.2.5)
10
- activesupport (= 5.2.5)
11
- activerecord (5.2.5)
12
- activemodel (= 5.2.5)
13
- activesupport (= 5.2.5)
14
- arel (>= 9.0)
15
- activesupport (5.2.5)
9
+ activemodel (6.1.3.2)
10
+ activesupport (= 6.1.3.2)
11
+ activerecord (6.1.3.2)
12
+ activemodel (= 6.1.3.2)
13
+ activesupport (= 6.1.3.2)
14
+ activesupport (6.1.3.2)
16
15
  concurrent-ruby (~> 1.0, >= 1.0.2)
17
- i18n (>= 0.7, < 2)
18
- minitest (~> 5.1)
19
- tzinfo (~> 1.1)
20
- arel (9.0.0)
16
+ i18n (>= 1.6, < 2)
17
+ minitest (>= 5.1)
18
+ tzinfo (~> 2.0)
19
+ zeitwerk (~> 2.3)
21
20
  concurrent-ruby (1.1.8)
22
21
  i18n (1.8.10)
23
22
  concurrent-ruby (~> 1.0)
24
23
  minitest (5.14.4)
25
24
  rake (10.5.0)
26
25
  sqlite3 (1.4.2)
27
- thread_safe (0.3.6)
28
- tzinfo (1.2.9)
29
- thread_safe (~> 0.1)
26
+ tzinfo (2.0.4)
27
+ concurrent-ruby (~> 1.0)
28
+ zeitwerk (2.4.2)
30
29
 
31
30
  PLATFORMS
32
31
  ruby
33
32
 
34
33
  DEPENDENCIES
35
- activerecord (~> 5)
34
+ activerecord (~> 6)
36
35
  be_valid!
37
- bundler (~> 1.17)
36
+ bundler (~> 2)
38
37
  minitest (~> 5.0)
39
38
  rake (~> 10.0)
40
39
  sqlite3 (~> 1.4)
41
40
 
42
41
  BUNDLED WITH
43
- 1.17.2
42
+ 2.2.17
data/be_valid.gemspec CHANGED
@@ -25,9 +25,9 @@ Gem::Specification.new do |spec|
25
25
 
26
26
  spec.required_ruby_version = '>= 2.3'
27
27
 
28
- spec.add_development_dependency "bundler", "~> 1.17"
28
+ spec.add_development_dependency "bundler", "~> 2"
29
29
  spec.add_development_dependency "rake", "~> 10.0"
30
30
  spec.add_development_dependency "minitest", "~> 5.0"
31
- spec.add_development_dependency "activerecord", "~> 5"
31
+ spec.add_development_dependency "activerecord", "~> 6"
32
32
  spec.add_development_dependency "sqlite3", "~> 1.4"
33
33
  end
@@ -9,10 +9,10 @@ module BeValid
9
9
  end
10
10
 
11
11
  class Configuration
12
- attr_accessor :notice_rules
12
+ attr_accessor :rules
13
13
 
14
14
  def initialize
15
- @notice_rules= []
15
+ @rules = {}
16
16
  end
17
17
  end
18
18
  end
@@ -1,3 +1,3 @@
1
1
  module BeValid
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.7"
3
3
  end
@@ -14,15 +14,15 @@ class DateValidator < ActiveModel::EachValidator
14
14
 
15
15
  # display helpful date format validation message with original value
16
16
  message = options[:time] ? ": #{original_value} is not a valid value. Value must be a date in YYYY-MM-DD or YYYY-MM-DD HH:MM:SS format." : ": #{original_value} is not a valid value. Value must be a date in YYYY-MM-DD."
17
- @error_hash.add(attribute, (options[:message] || message))
17
+ @error_hash.add(attribute, (options[:message] || message), rule_name: options[:rule_name])
18
18
  else
19
19
  # handle validation options on valid date instances
20
20
  return unless value.respond_to?(:strftime)
21
21
  if(options[:after] && (after_message = validate_after_option(record, attribute, value, original_value)) != true)
22
- @error_hash.add(attribute, (options[:after_message] || "#{after_message}."))
22
+ @error_hash.add(attribute, (options[:after_message] || "#{after_message}."), rule_name: options[:rule_name])
23
23
  end
24
24
  if(options[:before] && (before_message = validate_before_option(record, attribute, value, original_value)) != true)
25
- @error_hash.add(attribute, (options[:before_message] || "#{before_message}."))
25
+ @error_hash.add(attribute, (options[:before_message] || "#{before_message}."), rule_name: options[:rule_name])
26
26
  end
27
27
  end
28
28
  end
@@ -11,14 +11,16 @@ module ActiveModel
11
11
  less_or_equal_to: :<=,
12
12
  not_equal_to: :!=,
13
13
  matching: :=~,
14
- # one_of: :in?
15
14
  }.freeze
15
+
16
+ REQD_OPTS = (MATCHERS.keys + [:blank, :present, :one_of, :not_any_of, :only_from, :before, :after])
16
17
 
17
18
  MESSAGE_PREFIX = "must be"
18
19
  ERRORS_METHOD = :errors
19
20
 
20
21
  def validate_each(record, attribute, value)
21
- raise "must_be_validator requires at least one comparison operator for attribute." unless options.slice(MATCHERS.keys + [:blank, :present])
22
+ raise "Requires at least one comparison operator for attribute." unless (options.keys & REQD_OPTS).length > 0
23
+ return if options[:rule_name] && BeValid.config.rules&.fetch(options[:rule_name], {})[:disabled]
22
24
 
23
25
  original_value = record.read_attribute_before_type_cast( attribute )
24
26
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: be_valid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Stewart (johnsinco)
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-04-28 00:00:00.000000000 Z
11
+ date: 2021-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.17'
19
+ version: '2'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.17'
26
+ version: '2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '5'
61
+ version: '6'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '5'
68
+ version: '6'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sqlite3
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -87,6 +87,7 @@ executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
+ - ".github/workflows/ruby.yml"
90
91
  - ".gitignore"
91
92
  - Gemfile
92
93
  - Gemfile.lock
@@ -120,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
121
  - !ruby/object:Gem::Version
121
122
  version: '0'
122
123
  requirements: []
123
- rubygems_version: 3.0.3
124
+ rubygems_version: 3.1.6
124
125
  signing_key:
125
126
  specification_version: 4
126
127
  summary: Custom Ruby on Rails Validation library supporting 'conditional' validation