dry-schema 1.5.1 → 1.5.2

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: c56536db764858bb0d594688d581e4f38fd46f949f75829c20a63d67902f3704
4
- data.tar.gz: f99af785ccdee69c8cc5d4398b4802612c2b3456e4d472a25d591d593ac9d2bb
3
+ metadata.gz: 56d8ad72225fe97e2b15ab143007eb6ffc9356a5255bb58392e62e515faec939
4
+ data.tar.gz: f1c083ba766e4626d6f3b6bba1d90b94c5a69c3876b27c102188a41d48c6882a
5
5
  SHA512:
6
- metadata.gz: d6f538d54f0ab58595f14e94340e1cb2a3da45a5a4909e8aa5e3bb1a6d68fcd5992debf4d6a8c7909fb25166c11160d970dfb06ac4266e87869117ca984574b1
7
- data.tar.gz: 3a26179c03e7f4fccce53ae19c6d9133af913407ba64d05bf28a1b173fbdc5e922176edf94c48842829c5b52eda16f5589aa1b98b2848b3094e3713fc2844716
6
+ metadata.gz: 456412163fc86f80ccf4f5c03e89801baeb28cc048d1ba510ca99539cbbf8ae512b6ac1e3821399b9121eec007927176f83450b1b4643feb6b3848b3b5c04c1d
7
+ data.tar.gz: 993d886c1863a36c20d16b2ac7c08ece0412c9e9d97534aea93564f5be02da1772c803115eaef06731f45093ed147ce0ed889578114fc086e9e3d75fd67bd750
@@ -1,3 +1,16 @@
1
+ ## 1.5.2 2020-06-26
2
+
3
+
4
+ ### Fixed
5
+
6
+ - `Result#{success?,failure?}` work as expected when there are only key validation failures (issue #297 fixed via #298) (@adamransom)
7
+
8
+ ### Changed
9
+
10
+ - Using `full` option no longer adds a space between the name of a key and the message in case of languages that have no spaces between words (ie Japanese) (issue #161 closed via #292 by @tadeusz-niemiec)
11
+
12
+ [Compare v1.5.1...v1.5.2](https://github.com/dry-rb/dry-schema/compare/v1.5.1...v1.5.2)
13
+
1
14
  ## 1.5.1 2020-05-21
2
15
 
3
16
 
@@ -29,6 +29,14 @@ module Dry
29
29
 
30
30
  EMPTY_OPTS = VisitorOpts.new
31
31
  EMPTY_MESSAGE_SET = MessageSet.new(EMPTY_ARRAY).freeze
32
+ FULL_MESSAGE_WHITESPACE = Hash.new(' ').merge(
33
+ ja: '',
34
+ zh: '',
35
+ bn: '',
36
+ th: '',
37
+ lo: '',
38
+ my: '',
39
+ )
32
40
 
33
41
  param :messages
34
42
 
@@ -203,12 +211,12 @@ module Dry
203
211
  return text if !text || !full
204
212
 
205
213
  rule = options[:path]
206
- "#{messages.rule(rule, options) || rule} #{text}"
214
+ [messages.rule(rule, options) || rule, text].join(FULL_MESSAGE_WHITESPACE[template.options[:locale]])
207
215
  end
208
216
 
209
217
  # @api private
210
218
  def message_tokens(args)
211
- args.each_with_object({}) do |arg, hash|
219
+ tokens = args.each_with_object({}) do |arg, hash|
212
220
  case arg[1]
213
221
  when Array
214
222
  hash[arg[0]] = arg[1].join(LIST_SEPARATOR)
@@ -219,6 +227,14 @@ module Dry
219
227
  hash[arg[0]] = arg[1]
220
228
  end
221
229
  end
230
+ args.any? { |e| e.first == :size } ? append_mapped_size_tokens(tokens) : tokens
231
+ end
232
+
233
+ # @api private
234
+ def append_mapped_size_tokens(tokens)
235
+ # this is a temporary fix for the inconsistency in the "size" errors arguments
236
+ mapped_hash = tokens.each_with_object({}) { |(k, v), h| h[k.to_s.gsub("size", "num").to_sym] = v }
237
+ tokens.merge(mapped_hash)
222
238
  end
223
239
  end
224
240
  end
@@ -121,7 +121,7 @@ module Dry
121
121
  #
122
122
  # @api public
123
123
  def success?
124
- results.empty?
124
+ result_ast.empty?
125
125
  end
126
126
 
127
127
  # Check if the result is not successful
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Dry
4
4
  module Schema
5
- VERSION = "1.5.1"
5
+ VERSION = "1.5.2"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry-schema
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Solnica
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-21 00:00:00.000000000 Z
11
+ date: 2020-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby