validations-skipper 0.1.0 → 0.1.1

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
  SHA256:
3
- metadata.gz: 9aa7a804e48493ed99bbfe87e237f4c971447ee2b6930940002f8fbb772ec52b
4
- data.tar.gz: 3b56a61ab479a7e3dbe953544a7dd3fc4380d62aaddb4fda06b8ee4481241b82
3
+ metadata.gz: 1df379ce82fb07706a2a230f40f14b8fce753667a3bcfaac8aa8975a63829926
4
+ data.tar.gz: 1d13d9a0c8a8c66d20e42df6628a39a2767866314832bd0b4ee94509d5822058
5
5
  SHA512:
6
- metadata.gz: 8306bf7544300da02feaa8f5c1acbfe53603665571fe37c17d3722a5b3846343f56ef8c9efd82438357fe54f0375e72ea49e0b691fb90c088417c97b03483801
7
- data.tar.gz: 477cc31e62db5f9f813e16d6d044ba6f47d0dcaa27145c7ddc02147d7e7bad345742193dde6cffd9d1f8966fc7112af66d8f0b92206f09afa779e2133bd981a1
6
+ metadata.gz: 9364e559e97c16da5523e74ff28110d0b447814c3e04453a62ef829227227cf58b20c3f8c9421aa2cf74073a4cf6432973be25cacf313481f15ae636efbfe915
7
+ data.tar.gz: 3ea4c79d636799822e9f3842c0ecea33c60c7da4a1fcb2fe2eaeb123910c26af0d2664c12dbb44e5cb28cec117719e3a9f35127e1b952f8756c9d98a3df36891
@@ -4,7 +4,8 @@ module ValidationsSkipable
4
4
  attr_accessor :skip_validations
5
5
 
6
6
  def initialize(*)
7
- @original_methods = self.class.instance_methods.map do |instance_method|
7
+ instance_methods = self.class.instance_methods + self.class.private_instance_methods
8
+ @original_methods = instance_methods.map do |instance_method|
8
9
  [instance_method, method(instance_method)]
9
10
  end.to_h
10
11
  super
@@ -78,4 +78,38 @@ class TestValidationsSkipper < Minitest::Test
78
78
 
79
79
  assert_equal(@object.valid?, false)
80
80
  end
81
+
82
+ class ClassWithPrivateValidation
83
+ include ActiveModel::Validations
84
+ include ValidationsSkipable
85
+
86
+ validate :private_validation_method
87
+
88
+ private
89
+
90
+ def private_validation_method
91
+ errors.add(:column, 'An error message')
92
+ end
93
+ end
94
+
95
+ def test_skipping_private_validation
96
+ @object = ClassWithPrivateValidation.new
97
+ @object.skip_validations = [:private_validation_method]
98
+
99
+ assert_equal(@object.valid?, true)
100
+ end
101
+
102
+ def test_not_skipping_private_validation
103
+ @object = ClassWithPrivateValidation.new
104
+
105
+ assert_equal(@object.valid?, false)
106
+ end
107
+
108
+ def test_toggleing_skipping_validation
109
+ @object = ClassWithPrivateValidation.new
110
+ @object.skip_validations = [:private_validation_method]
111
+ @object.skip_validations = []
112
+
113
+ assert_equal(@object.valid?, false)
114
+ end
81
115
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validations-skipper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Cordeiro Costa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-12 00:00:00.000000000 Z
11
+ date: 2020-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest