validations-skipper 0.1.0 → 0.1.2

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: 244ce5215d144be6b90279445dc7e35f30f5f62169329e11e9d28e28bd83b519
4
+ data.tar.gz: bcd3f5ce9d8ac2a459e5b007e05f141bd813baf0d00a5418b0015b1b9e07a9a2
5
5
  SHA512:
6
- metadata.gz: 8306bf7544300da02feaa8f5c1acbfe53603665571fe37c17d3722a5b3846343f56ef8c9efd82438357fe54f0375e72ea49e0b691fb90c088417c97b03483801
7
- data.tar.gz: 477cc31e62db5f9f813e16d6d044ba6f47d0dcaa27145c7ddc02147d7e7bad345742193dde6cffd9d1f8966fc7112af66d8f0b92206f09afa779e2133bd981a1
6
+ metadata.gz: 3ec4e145886ee718b0f843bd4dea2b196be551580f2197225c419a057da748c53251370a7c192c78b9cddf2093a877abc976423423fb5b26fbed2d2d86c46393
7
+ data.tar.gz: 06a9c006bae4bd537d75686ba17f718c7da7a0650f403732a8e53a2fb3207b033810a26532a8bb02aac1a22a776097bae65ec1e28d339bc58f752ea25efde7e6
@@ -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.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Cordeiro Costa
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-12 00:00:00.000000000 Z
11
+ date: 2022-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '4.2'
47
+ version: '5.2'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '4.2'
54
+ version: '5.2'
55
55
  description: |-
56
56
  validations-skipper is a gem that enables objects
57
57
  to skip specified validations with ease.
@@ -68,7 +68,7 @@ homepage: https://github.com/Victorcorcos/validations-skipper
68
68
  licenses:
69
69
  - MIT
70
70
  metadata: {}
71
- post_install_message:
71
+ post_install_message:
72
72
  rdoc_options: []
73
73
  require_paths:
74
74
  - lib
@@ -83,9 +83,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0'
85
85
  requirements: []
86
- rubyforge_project:
87
- rubygems_version: 2.7.9
88
- signing_key:
86
+ rubygems_version: 3.0.9
87
+ signing_key:
89
88
  specification_version: 4
90
89
  summary: validations-skipper is a gem that enables objects to skip specified validations
91
90
  with ease. It can be applied to ActiveRecord::Base classes.