paradocs 1.1.4 → 1.1.5

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: c9ed12715c0df054876f622c3dada9cc4a2d8fd5
4
- data.tar.gz: bfe8c1cb2eb4aa9f15eb08349425611deccb3517
3
+ metadata.gz: ba77710f31f4b6d12c2c764807c1274a7409e18f
4
+ data.tar.gz: 79e70eed1f40fbc5b2c7fab32b935ecee813b7b8
5
5
  SHA512:
6
- metadata.gz: b9d827bf00b03d7766600e438d8ee16a9938ab099cd807d0d236cfb37758d104d76f26fdf713c7f39c550ce65df56c30b4dcfbeedb5fa7c5ebc93fa67c66199d
7
- data.tar.gz: c4ac5998e89948246c01b6ec04d39ce5332c66da32902ac2b63a06672746dc002a91dc013372bc4cb33410a72e15c1de85bfb08aab8a17659dc9da84f4c793b5
6
+ metadata.gz: 2365143b9765af228b14ed88105837d34fdba6b3da914e7cf71750e6bea120d6418767b7cd94678480b97ab7735af049129c3c180a6f46d7d590630d09f0d490
7
+ data.tar.gz: eae4b0b0593f473ac51fc5214bef19c8571490cde4a63b6274a755fc81c1099c226030eaeec56eb15eb91e4263062c57d0c31bf7c50bd01038ef3371c7382031
@@ -73,16 +73,6 @@ module Paradocs
73
73
  end
74
74
  end
75
75
 
76
- Paradocs.policy :split do
77
- coerce do |v, k, c|
78
- v.kind_of?(Array) ? v : v.to_s.split(/\s*,\s*/)
79
- end
80
-
81
- meta_data do
82
- {type: :array}
83
- end
84
- end
85
-
86
76
  Paradocs.policy :datetime do
87
77
  coerce do |v, k, c|
88
78
  DateTime.parse(v.to_s)
@@ -5,7 +5,7 @@ module Paradocs
5
5
  class Format < Paradocs::BasePolicy
6
6
  attr_reader :message
7
7
 
8
- def initialize(fmt, msg = "invalid format")
8
+ def initialize(fmt, msg="invalid format")
9
9
  @message = msg
10
10
  @fmt = fmt
11
11
  end
@@ -18,12 +18,23 @@ module Paradocs
18
18
  !payload.key?(key) || !!(value.to_s =~ @fmt)
19
19
  end
20
20
  end
21
+
22
+ class Split < Paradocs::BasePolicy
23
+ def initialize(delimiter=/\s*,\s*/)
24
+ @delimiter = delimiter
25
+ end
26
+
27
+ def coerce(v, *)
28
+ v.kind_of?(Array) ? v : v.to_s.split(@delimiter)
29
+ end
30
+ end
21
31
  end
22
32
 
23
33
  # Default validators
24
34
  EMAIL_REGEXP = /\A[\w+\-.]+@[a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z/i.freeze
25
35
 
26
36
  Paradocs.policy :format, Policies::Format
37
+ Paradocs.policy :split, Policies::Split
27
38
  Paradocs.policy :email, Policies::Format.new(EMAIL_REGEXP, 'invalid email')
28
39
 
29
40
  Paradocs.policy :noop do
@@ -1,3 +1,3 @@
1
1
  module Paradocs
2
- VERSION = "1.1.4"
2
+ VERSION = "1.1.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paradocs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maxim Tkachenko
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-11-05 00:00:00.000000000 Z
12
+ date: 2020-11-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler