datacaster 6.0.2 → 6.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f66df22c1ea20054ae2b16ea8ccbd778b8aac71e7898bc763036e3c4f9ba50da
4
- data.tar.gz: bad95a5182fdbbefe72c5c8f5b724c433f26cc5d676a755dcb0af554e07d95ca
3
+ metadata.gz: 530416943895584aa390aeb22eec1724349a073ff782f56e575d679c700eb636
4
+ data.tar.gz: 2281df272c23df501134a4b7ad1c0471065cae708b613d5e6c3b74e3ddb6bef7
5
5
  SHA512:
6
- metadata.gz: f6f707de2a1555d6dbc7756b60e8a981de97f137787dc5212b78807060d43877e0c5b18f3ad191262eabb618bed356feb32e9d96d3adf93b14bbbbe73bf2452b
7
- data.tar.gz: 8612f9609a9d1c9a8a9de4358ee66c30458158598917a3e59d09fb83582a8cdc68f7c395f577179363407fd63cbd9f72d4864b77ee957f4e4e63f6a2aad746f2
6
+ metadata.gz: 23c2bda85de1bab4c3b5e75b274fde4b8caae866a0c2c399b819654b242f915663adebec136bebbc5ce6ce272f00a9c1e9551e9a9acb0c3d7a53dc6231347080
7
+ data.tar.gz: a953b5397a17a02c3b0833e0e4ab914d3ca8b8c712eccb58be0342ed9e10083e62b06c951e8e8b313a26c13a28be16e1ac83be9db6b2ad1ce98befef4a9e9e78
data/datacaster.gemspec CHANGED
@@ -29,4 +29,5 @@ Gem::Specification.new do |spec|
29
29
  spec.add_development_dependency 'dry-monads', '>= 1.3', '< 1.4'
30
30
 
31
31
  spec.add_runtime_dependency 'zeitwerk', '>= 2', '< 3'
32
+ spec.add_runtime_dependency 'js_regex'
32
33
  end
@@ -1,3 +1,5 @@
1
+ require 'js_regex'
2
+
1
3
  module Datacaster
2
4
  module Predefined
3
5
  extend self
@@ -363,8 +365,12 @@ module Datacaster
363
365
  def pattern(regexp, error_key = nil)
364
366
  error_keys = ['.pattern', 'datacaster.errors.pattern']
365
367
  error_keys.unshift(error_key) if error_key
366
- string(error_key) & check { |x| x.match?(regexp) }.i18n_key(*error_keys, reference: regexp.inspect).
367
- json_schema(pattern: regexp.inspect)
368
+
369
+ ecma_regexp = JsRegex.new(regexp).to_s
370
+
371
+ string(error_key) & check { |x| x.match?(regexp) }.
372
+ i18n_key(*error_keys, reference: ecma_regexp).
373
+ json_schema(pattern: ecma_regexp)
368
374
  end
369
375
 
370
376
  # 'hash' would be a bad method name, because it would override built in Object#hash
@@ -458,7 +464,9 @@ module Datacaster
458
464
  def uuid(error_key = nil)
459
465
  error_keys = ['.uuid', 'datacaster.errors.uuid']
460
466
  error_keys.unshift(error_key) if error_key
461
- pattern(/\A\h{8}-\h{4}-\h{4}-\h{4}-\h{12}\z/, error_key).i18n_key(*error_keys)
467
+ pattern(/\A\h{8}-\h{4}-\h{4}-\h{4}-\h{12}\z/, error_key).
468
+ i18n_key(*error_keys).
469
+ json_schema { { 'type' => 'string', 'format' => 'uuid' } }
462
470
  end
463
471
 
464
472
  # Form request types
@@ -1,3 +1,3 @@
1
1
  module Datacaster
2
- VERSION = "6.0.2"
2
+ VERSION = "6.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datacaster
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.2
4
+ version: 6.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eugene Zolotarev
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2025-10-21 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activemodel
@@ -106,7 +105,20 @@ dependencies:
106
105
  - - "<"
107
106
  - !ruby/object:Gem::Version
108
107
  version: '3'
109
- description:
108
+ - !ruby/object:Gem::Dependency
109
+ name: js_regex
110
+ requirement: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
115
+ type: :runtime
116
+ prerelease: false
117
+ version_requirements: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
110
122
  email:
111
123
  - eugzol@gmail.com
112
124
  executables: []
@@ -181,7 +193,6 @@ licenses:
181
193
  - MIT
182
194
  metadata:
183
195
  source_code_uri: https://github.com/EugZol/datacaster
184
- post_install_message:
185
196
  rdoc_options: []
186
197
  require_paths:
187
198
  - lib
@@ -196,8 +207,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
196
207
  - !ruby/object:Gem::Version
197
208
  version: '0'
198
209
  requirements: []
199
- rubygems_version: 3.1.6
200
- signing_key:
210
+ rubygems_version: 4.0.3
201
211
  specification_version: 4
202
212
  summary: Run-time type checker and transformer for Ruby
203
213
  test_files: []