optional_validations 0.1.1 → 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
  SHA1:
3
- metadata.gz: 2651aef3638991e21441a2d0bd457deaf28e61ef
4
- data.tar.gz: 119fd4b60c9ebddf13fe7a2a9dcef9ba0cea69cc
3
+ metadata.gz: d56a776847cfdbd903416d9a9e2c09a3dcd3e554
4
+ data.tar.gz: 2d091783eabfd36132fd4c36a56d34e18ddb4e9b
5
5
  SHA512:
6
- metadata.gz: b337d68f5e3af9701ee6af5e05d70b7cd163344e62b05a23fce5e6f0f54f1a2c4dc5f86bde516b0ce7f89bce3dcb312c1b0c1136c70a4d662145af2903eefc02
7
- data.tar.gz: 4dee3685e71458db9c4c3f98073f2ddd7683c8728a54cb9817eedae9334a9e25ccab9415d90875f4912d162502ca8879e23b73569814e81baf12a6e73bd722b6
6
+ metadata.gz: b7adbd0532fd5f390381280cd2f04cd0dfa8845a45fc7278ac3dbb940557d77c5b6751c878c3ae2af1b12120e5b707838f0a65c0b3ed7d994865b7b18defe534
7
+ data.tar.gz: f1d7cc3dd457bf447524c927f344fa035ad320de6ce1003d9e856af4ffc6d6d77cc35dd4a0a1771f10c18854fd67116c3063c28dd4ca27774a7c627a783294a7
@@ -8,6 +8,8 @@ module ActiveModel
8
8
  alias_method :__validates_with, :validates_with
9
9
  def validates_with(*args, &block)
10
10
 
11
+ return __validates_with(*args, &block) unless args[1].present?
12
+
11
13
  _if = Array(args[1][:if])
12
14
 
13
15
  # if multiple attribute names are supplied we need to split them into separate validates_with calls
@@ -205,5 +205,31 @@ class OptionalValidationsTest < Minitest::Test
205
205
 
206
206
  end
207
207
 
208
+ def test_validates_with
209
+ model = Class.new(ModelBase) do
210
+ validates_with(Class.new(ActiveModel::Validator) do
211
+ def validate(record)
212
+ record.errors.add :base, 'attr1 should be above zero' unless record.attr1 > 0
213
+ end
214
+ end)
215
+ validates_presence_of :attr2
216
+ end
217
+
218
+ m = model.new
219
+ m.attr1 = 0
220
+
221
+ m.validate_only :attr1 do
222
+ assert !m.valid?
223
+ end
224
+
225
+ m.attr1 = 1
226
+
227
+ m.validate_only :attr1 do
228
+ assert m.valid?
229
+ end
230
+
231
+ end
232
+
233
+
208
234
 
209
235
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: optional_validations
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
  - Ivan Brykov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-28 00:00:00.000000000 Z
11
+ date: 2015-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest