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: e4d1445d3377247ce8342c629d67f82f53b68863
4
- data.tar.gz: fd555af7b7243571bea098d4e783cfdda6e46581
3
+ metadata.gz: 9b208b1870698a602feb0e169d24e98d18adce92
4
+ data.tar.gz: eb7553305d2c920e2f17f5d53b39db5a736948da
5
5
  SHA512:
6
- metadata.gz: a543978ea06a2f0251a28f6708f85d6bb70e66ab379b2ae458de4ced67ae6130ab9d1febb26382ae266be042eded0b91372b137e140b8cfa029ececd18494edf
7
- data.tar.gz: bb8bd86588f9fb3cdd300a2241be206cbc82a6dab07c2082000eb8115140dfb2a52c8ef7becec53f32c2f4b01e553e6c614c8597edb3bd1c223073c6875bfece
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
- klass.valid?(context.entity.public_send(attribute))
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
@@ -1,3 +1,3 @@
1
1
  module PoroValidator
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  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
- expect(entity).to respond_to(attr)
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.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-16 00:00:00.000000000 Z
11
+ date: 2016-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler