validatable 1.6.2 → 1.6.3
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.
- data/lib/macros.rb +12 -4
- data/lib/validations/validation_base.rb +2 -1
- data/rakefile.rb +1 -1
- data/test/functional/validatable_test.rb +12 -0
- metadata +1 -1
data/lib/macros.rb
CHANGED
@@ -13,12 +13,13 @@ module Validatable
|
|
13
13
|
#
|
14
14
|
# Configuration options:
|
15
15
|
#
|
16
|
+
# * after_validate - A block that executes following the run of a validation
|
17
|
+
# * group - The group that this validation belongs to. A validation can belong to multiple groups
|
18
|
+
# * if - A block that when executed must return true of the validation will not occur
|
19
|
+
# * level - The level at which the validation should occur
|
20
|
+
# * logic - A block that executes to perform the validation
|
16
21
|
# * message - The message to add to the errors collection when the validation fails
|
17
22
|
# * times - The number of times the validation applies
|
18
|
-
# * level - The level at which the validation should occur
|
19
|
-
# * if - A block that when executed must return true of the validation will not occur
|
20
|
-
# * group - The group that this validation belongs to. A validation can belong to multiple groups
|
21
|
-
# * logic - A block that executes to perform the validation def validates_each(*args)
|
22
23
|
def validates_each(*args)
|
23
24
|
add_validations(args, ValidatesEach)
|
24
25
|
end
|
@@ -37,6 +38,7 @@ module Validatable
|
|
37
38
|
#
|
38
39
|
# Configuration options:
|
39
40
|
#
|
41
|
+
# * after_validate - A block that executes following the run of a validation
|
40
42
|
# * message - The message to add to the errors collection when the validation fails
|
41
43
|
# * times - The number of times the validation applies
|
42
44
|
# * level - The level at which the validation should occur
|
@@ -59,6 +61,7 @@ module Validatable
|
|
59
61
|
#
|
60
62
|
# Configuration options:
|
61
63
|
#
|
64
|
+
# * after_validate - A block that executes following the run of a validation
|
62
65
|
# * message - The message to add to the errors collection when the validation fails
|
63
66
|
# * times - The number of times the validation applies
|
64
67
|
# * level - The level at which the validation should occur
|
@@ -83,6 +86,7 @@ module Validatable
|
|
83
86
|
#
|
84
87
|
# Configuration options:
|
85
88
|
#
|
89
|
+
# * after_validate - A block that executes following the run of a validation
|
86
90
|
# * message - The message to add to the errors collection when the validation fails
|
87
91
|
# * times - The number of times the validation applies
|
88
92
|
# * level - The level at which the validation should occur
|
@@ -105,6 +109,7 @@ module Validatable
|
|
105
109
|
#
|
106
110
|
# Configuration options:
|
107
111
|
#
|
112
|
+
# * after_validate - A block that executes following the run of a validation
|
108
113
|
# * message - The message to add to the errors collection when the validation fails
|
109
114
|
# * times - The number of times the validation applies
|
110
115
|
# * level - The level at which the validation should occur
|
@@ -131,6 +136,7 @@ module Validatable
|
|
131
136
|
#
|
132
137
|
# Configuration options:
|
133
138
|
#
|
139
|
+
# * after_validate - A block that executes following the run of a validation
|
134
140
|
# * case_sensitive - Whether or not to apply case-sensitivity on the comparison. Defaults to true.
|
135
141
|
# * message - The message to add to the errors collection when the validation fails
|
136
142
|
# * times - The number of times the validation applies
|
@@ -154,6 +160,7 @@ module Validatable
|
|
154
160
|
#
|
155
161
|
# Configuration options:
|
156
162
|
#
|
163
|
+
# * after_validate - A block that executes following the run of a validation
|
157
164
|
# * message - The message to add to the errors collection when the validation fails
|
158
165
|
# * times - The number of times the validation applies
|
159
166
|
# * level - The level at which the validation should occur
|
@@ -176,6 +183,7 @@ module Validatable
|
|
176
183
|
#
|
177
184
|
# Configuration options:
|
178
185
|
#
|
186
|
+
# * after_validate - A block that executes following the run of a validation
|
179
187
|
# * message - The message to add to the errors collection when the validation fails
|
180
188
|
# * times - The number of times the validation applies
|
181
189
|
# * level - The level at which the validation should occur
|
@@ -41,7 +41,7 @@ module Validatable
|
|
41
41
|
include Understandable
|
42
42
|
include Requireable
|
43
43
|
|
44
|
-
option :message, :if, :times, :level, :groups, :key
|
44
|
+
option :message, :if, :times, :level, :groups, :key, :after_validate
|
45
45
|
default :level => 1, :groups => []
|
46
46
|
attr_accessor :attribute
|
47
47
|
|
@@ -82,6 +82,7 @@ module Validatable
|
|
82
82
|
self.class.all_after_validations.each do |block|
|
83
83
|
block.call result, instance, attribute
|
84
84
|
end
|
85
|
+
self.after_validate.call result, instance, attribute unless self.after_validate.nil?
|
85
86
|
end
|
86
87
|
end
|
87
88
|
end
|
data/rakefile.rb
CHANGED
@@ -29,7 +29,7 @@ Gem::manage_gems
|
|
29
29
|
specification = Gem::Specification.new do |s|
|
30
30
|
s.name = "validatable"
|
31
31
|
s.summary = "Validatable is a library for adding validations."
|
32
|
-
s.version = "1.6.
|
32
|
+
s.version = "1.6.3"
|
33
33
|
s.author = 'Jay Fields'
|
34
34
|
s.description = "Validatable is a library for adding validations."
|
35
35
|
s.email = 'validatable-developer@rubyforge.org'
|
@@ -2,6 +2,18 @@ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
|
|
2
2
|
|
3
3
|
functional_tests do
|
4
4
|
|
5
|
+
expect :is_set do
|
6
|
+
klass = Class.new do
|
7
|
+
include Validatable
|
8
|
+
attr_accessor :name, :result
|
9
|
+
validates_presence_of :name, :after_validate => lambda { |result, instance, attribute| instance.result = :is_set }
|
10
|
+
end
|
11
|
+
|
12
|
+
instance = klass.new
|
13
|
+
instance.valid?
|
14
|
+
instance.result
|
15
|
+
end
|
16
|
+
|
5
17
|
expect false do
|
6
18
|
klass = Class.new do
|
7
19
|
include Validatable
|
metadata
CHANGED