poro_validator 0.1.1 → 0.1.2
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b208b1870698a602feb0e169d24e98d18adce92
|
4
|
+
data.tar.gz: eb7553305d2c920e2f17f5d53b39db5a736948da
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e5e56fcf3b6f187bfda5f3694bdcd68ded5be9eb50c440f14d1d02e71d5fcaafc888a09021f8f2e7c1e993c13ce5ae1fb38bf6a7f2ad26abe590d1a086ab866e
|
7
|
+
data.tar.gz: f407bc281ab3901ffed0c4b8ecc5d9c10857d92e6a609e368a1e405628b3f706ad9ac213fa87e047824c2749917705652ec85d73f56467516df064085b7401ae
|
@@ -6,7 +6,11 @@ module PoroValidator
|
|
6
6
|
case validator_class
|
7
7
|
when Class
|
8
8
|
klass = validator_class.new
|
9
|
-
|
9
|
+
if context.entity.is_a?(::Hash)
|
10
|
+
klass.valid?(context.entity[attribute] || {})
|
11
|
+
else
|
12
|
+
klass.valid?(context.entity.public_send(attribute))
|
13
|
+
end
|
10
14
|
klass.errors.public_send(:store).data.each do |k,v|
|
11
15
|
errors.add([attribute, k.to_sym], v.pop)
|
12
16
|
end
|
@@ -49,6 +49,28 @@ RSpec.describe PoroValidator::Validators::WithValidator do
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
+
context "entity is a hash object" do
|
53
|
+
expect_validator_to_be_invalid do
|
54
|
+
let(:entity) do
|
55
|
+
{}
|
56
|
+
end
|
57
|
+
|
58
|
+
let(:expected_errors) do
|
59
|
+
{
|
60
|
+
"first_name" => ["is not present"],
|
61
|
+
"last_name" => ["is not present"],
|
62
|
+
"{:address=>:line1}" => ["is not present"],
|
63
|
+
"{:address=>:line2}" => ["is not present"]
|
64
|
+
}
|
65
|
+
end
|
66
|
+
|
67
|
+
skip_attr_unmet_condition do
|
68
|
+
let(:attr) { :dob }
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
73
|
+
|
52
74
|
expect_validator_to_be_valid do
|
53
75
|
let(:entity) do
|
54
76
|
OpenStruct.new(
|
@@ -82,7 +82,9 @@ module SpecHelpers
|
|
82
82
|
let(:attr) { raise "You must override the let(:attr)!" }
|
83
83
|
|
84
84
|
it "does not validate the attribute" do
|
85
|
-
|
85
|
+
unless entity.is_a?(::Hash)
|
86
|
+
expect(entity).to respond_to(attr)
|
87
|
+
end
|
86
88
|
validator.valid?(entity)
|
87
89
|
expect(validator.errors.on(attr)).to be_nil,
|
88
90
|
expected_message = [
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: poro_validator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kareem Gan
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01-
|
11
|
+
date: 2016-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|