datacaster 3.2.7 → 3.2.8
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 +4 -4
- data/README.md +22 -0
- data/config/locales/en.yml +2 -0
- data/lib/datacaster/predefined.rb +12 -0
- data/lib/datacaster/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7e5f8dec00cd9987c6efe8bbf54939b6a4df8604cffb7bc2be43d3e97fc8c8b7
|
4
|
+
data.tar.gz: a2bf2ab038537307304aade93ec9143fe489ece282ffb6d1bb92cdbe0d241de9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a99eaac0cfdb79b651ea7056dd77e279768e0ad0123107fb26f211cfe5d0bd605b0bfd19b649ac6041ac8a527c1314b5202ba790c2dfbea5bd85363a06756a6
|
7
|
+
data.tar.gz: d351457a3693f7a919fe0252cfc664973231c91c7b50dd2404beb4bfefa4d515541147272bafbf9fd53b109e6565f04fd4202adaa9fa347587422f0342b08be4
|
data/README.md
CHANGED
@@ -31,6 +31,8 @@ It is currently used in production in several projects (mainly as request parame
|
|
31
31
|
- [`hash_with_symbolized_keys(error_key = nil)`](#hash_with_symbolized_keyserror_key--nil)
|
32
32
|
- [`integer32(error_key = nil)`](#integer32error_key--nil)
|
33
33
|
- [`non_empty_string(error_key = nil)`](#non_empty_stringerror_key--nil)
|
34
|
+
- [`pattern(regexp, error_key = nil)`](#patternregexp-error_key--nil)
|
35
|
+
- [`uuid(error_key = nil)`](#uuiderror_key--nil)
|
34
36
|
- [Special types](#special-types)
|
35
37
|
- [`absent(error_key = nil, on: nil)`](#absenterror_key--nil-on-nil)
|
36
38
|
- [`any(error_key = nil)`](#anyerror_key--nil)
|
@@ -525,9 +527,29 @@ I18n keys:
|
|
525
527
|
|
526
528
|
Returns ValidResult if and only if provided value is a string and is not empty. Doesn't transform the value.
|
527
529
|
|
530
|
+
I18n keys:
|
531
|
+
|
528
532
|
* not a string – `error_key`, `'.string'`, `'datacaster.errors.string'`
|
529
533
|
* is empty – `error_key`, `'.non_empty_string'`, `'datacaster.errors.non_empty_string'`
|
530
534
|
|
535
|
+
#### `pattern(regexp, error_key = nil)`
|
536
|
+
|
537
|
+
Returns ValidResult if and only if provided value is a string and satisfies regexp. Doesn't transform the value. Don't forget to provide start/end markers in the regexp if needed, e.g. `/\A\d+\z/` for digits-only string.
|
538
|
+
|
539
|
+
I18n keys:
|
540
|
+
|
541
|
+
* not a string – `error_key`, `'.string'`, `'datacaster.errors.string'`
|
542
|
+
* doesn't satisfy the regexp – `error_key`, `'.pattern'`, `'datacaster.errors.pattern'`
|
543
|
+
|
544
|
+
#### `uuid(error_key = nil)`
|
545
|
+
|
546
|
+
Returns ValidResult if and only if provided value is a string and UUID. Doesn't transform the value.
|
547
|
+
|
548
|
+
I18n keys:
|
549
|
+
|
550
|
+
* not a string – `error_key`, `'.string'`, `'datacaster.errors.string'`
|
551
|
+
* not UUID – `error_key`, `'.uuid'`, `'datacaster.errors.uuid'`
|
552
|
+
|
531
553
|
### Special types
|
532
554
|
|
533
555
|
#### `absent(error_key = nil, on: nil)`
|
data/config/locales/en.yml
CHANGED
@@ -16,6 +16,7 @@ en:
|
|
16
16
|
integer32: is not a 32-bit integer
|
17
17
|
iso8601: is not a string with ISO-8601 date and time
|
18
18
|
must_be: "is not %{reference}"
|
19
|
+
pattern: has invalid format
|
19
20
|
relate: "%{left} should be %{op} %{right}"
|
20
21
|
responds_to: "does not respond to %{reference}"
|
21
22
|
string: is not a string
|
@@ -25,3 +26,4 @@ en:
|
|
25
26
|
non_empty_string: should be non-empty string
|
26
27
|
switch: is invalid
|
27
28
|
try: raised an error
|
29
|
+
uuid: is not UUID
|
@@ -319,6 +319,12 @@ module Datacaster
|
|
319
319
|
check { |x| x.is_a?(Float) }.i18n_key(*error_keys)
|
320
320
|
end
|
321
321
|
|
322
|
+
def pattern(regexp, error_key = nil)
|
323
|
+
error_keys = ['.pattern', 'datacaster.errors.pattern']
|
324
|
+
error_keys.unshift(error_key) if error_key
|
325
|
+
string(error_key) & check { |x| x.match?(regexp) }.i18n_key(*error_keys, reference: regexp.inspect)
|
326
|
+
end
|
327
|
+
|
322
328
|
# 'hash' would be a bad method name, because it would override built in Object#hash
|
323
329
|
def hash_value(error_key = nil)
|
324
330
|
error_keys = ['.hash_value', 'datacaster.errors.hash_value']
|
@@ -360,6 +366,12 @@ module Datacaster
|
|
360
366
|
string(error_key) & check { |x| !x.empty? }.i18n_key(*error_keys)
|
361
367
|
end
|
362
368
|
|
369
|
+
def uuid(error_key = nil)
|
370
|
+
error_keys = ['.uuid', 'datacaster.errors.uuid']
|
371
|
+
error_keys.unshift(error_key) if error_key
|
372
|
+
string(error_key) & pattern(/\A\h{8}-\h{4}-\h{4}-\h{4}-\h{12}\z/).i18n_key(*error_keys)
|
373
|
+
end
|
374
|
+
|
363
375
|
# Form request types
|
364
376
|
|
365
377
|
def iso8601(error_key = nil)
|
data/lib/datacaster/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: datacaster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eugene Zolotarev
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-05-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -106,7 +106,7 @@ dependencies:
|
|
106
106
|
- - "<"
|
107
107
|
- !ruby/object:Gem::Version
|
108
108
|
version: '3'
|
109
|
-
description:
|
109
|
+
description:
|
110
110
|
email:
|
111
111
|
- eugzol@gmail.com
|
112
112
|
executables: []
|
@@ -178,7 +178,7 @@ licenses:
|
|
178
178
|
- MIT
|
179
179
|
metadata:
|
180
180
|
source_code_uri: https://github.com/EugZol/datacaster
|
181
|
-
post_install_message:
|
181
|
+
post_install_message:
|
182
182
|
rdoc_options: []
|
183
183
|
require_paths:
|
184
184
|
- lib
|
@@ -193,8 +193,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
193
193
|
- !ruby/object:Gem::Version
|
194
194
|
version: '0'
|
195
195
|
requirements: []
|
196
|
-
rubygems_version: 3.
|
197
|
-
signing_key:
|
196
|
+
rubygems_version: 3.4.6
|
197
|
+
signing_key:
|
198
198
|
specification_version: 4
|
199
199
|
summary: Run-time type checker and transformer for Ruby
|
200
200
|
test_files: []
|