dry-validation-matchers 0.4.2 → 1.0.0

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
  SHA1:
3
- metadata.gz: daff35f830b5087605853e9e17b00de3db70ad17
4
- data.tar.gz: c0eec497585316d0c51f653906acc8d5e09c33f8
3
+ metadata.gz: 004756acbf477a3129994796ca5466c1c7fc3e95
4
+ data.tar.gz: fe46b43804e904468b766ba0b8d72ac31392fc76
5
5
  SHA512:
6
- metadata.gz: 9b9a59e37acfbc782c0b6f35d062512c0de6e1b8a931310e8d91966081caafc979783cba6e092462d0197dd9eaf4b23638c2f48843c1f60776e94ac5640fb61a
7
- data.tar.gz: 4bd46de5ca0212dc44d35bf4f9fd2b3acb8bbd3b26a3296cb099982c7dcee25d875521a4e71592b3f2793b6c278318472880118a0861452429f298771d756303
6
+ metadata.gz: 5b6b9e7c3fd04dce96acdda9cd9b3657897ae6164b69e94d4bdf4f7e004e46b55e937c5ec644f3d92a5beab37a5f0e35338a8ef3839eeeca651f853180d7598c
7
+ data.tar.gz: eb402459bfab985909c22f1b0ffed0b81b3597b0e133f8f4f1ec57d47da65a25d8cb20847dece09fea1979f3f7a3090a302b737308fe888fa62ceaf43d54e260
@@ -1 +1 @@
1
- ruby-2.4.1
1
+ ruby-2.6.2
@@ -1,5 +1,5 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.4.1
4
+ - 2.6.2
5
5
  before_install: gem install bundler -v 1.16.2
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
+ ## [1.0.0] - 2019-04-04
8
+ ### Added
9
+ - Remove (I know, under "added") activesupport requirement
10
+ - Add `max_size` validation
11
+
7
12
  ## [0.4.2] - 2018-08-23
8
13
  ### Fixed
9
14
  - [Fix false positive on value(included_in:) matcher](https://github.com/bloom-solutions/dry-validation-matchers/pull/10)
@@ -30,7 +30,6 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
- spec.add_runtime_dependency "activesupport"
34
33
  spec.add_runtime_dependency "dry-validation"
35
34
  spec.add_development_dependency "rspec", "~> 3.0"
36
35
  spec.add_development_dependency "bundler", "~> 1.13"
@@ -1,5 +1,3 @@
1
- require "active_support/core_ext/object"
2
- require "active_support/core_ext/object/blank"
3
1
  require "securerandom"
4
2
  require "dry-validation"
5
3
  require "dry/validation/matchers/version"
@@ -126,7 +126,7 @@ module Dry::Validation::Matchers
126
126
  error_messages = result.errors[@attr]
127
127
  # NOTE should support required to specify but not fillup. Must wait for
128
128
  # https://github.com/dry-rb/dry-validation/issues/251
129
- error_messages.present? && error_messages.include?("is missing")
129
+ error_messages.respond_to?('each') && error_messages.include?("is missing")
130
130
  else
131
131
  result = schema.({})
132
132
  result.errors[@attr].nil?
@@ -172,7 +172,7 @@ module Dry::Validation::Matchers
172
172
  invalid_for_expected_values = allowed_values.map do |v|
173
173
  result = schema.(@attr => v)
174
174
  error_messages = result.errors[@attr]
175
- error_messages.present? && error_messages.grep(/must be one of/).any?
175
+ error_messages.respond_to?('each') && error_messages.grep(/must be one of/).any?
176
176
  end.any? {|result| result == true}
177
177
  return false if invalid_for_expected_values
178
178
 
@@ -184,6 +184,25 @@ module Dry::Validation::Matchers
184
184
  false
185
185
  end
186
186
 
187
+ def check_value_max_size!(schema, rule)
188
+ predicate = rule[0]
189
+ max_size = rule[1]
190
+
191
+ expected_error_message = "size cannot be greater than #{max_size}"
192
+
193
+ result = schema.(@attr => "a" * (max_size+1))
194
+ error_messages = result.errors[@attr]
195
+ error_when_over = error_messages.respond_to?('each') &&
196
+ error_messages.include?(expected_error_message)
197
+
198
+ result = schema.(@attr => "a" * (max_size))
199
+ error_messages = result.errors[@attr]
200
+ no_error_when_within = error_messages.nil? ||
201
+ !error_messages.include?(expected_error_message)
202
+
203
+ error_when_over && no_error_when_within
204
+ end
205
+
187
206
  def type_error_messages
188
207
  type_error_messages = []
189
208
  TYPE_ERRORS.each_pair do |type, hash|
@@ -1,7 +1,7 @@
1
1
  module Dry
2
2
  module Validation
3
3
  module Matchers
4
- VERSION = "0.4.2"
4
+ VERSION = "1.0.0"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry-validation-matchers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ramon Tayag
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-08-23 00:00:00.000000000 Z
11
+ date: 2019-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: activesupport
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: dry-validation
29
15
  requirement: !ruby/object:Gem::Requirement