grouped_validations 0.2.1 → 0.2.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.
data/lib/grouped_validations.rb
CHANGED
@@ -35,14 +35,6 @@ module GroupedValidations
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
-
def group_valid?(group)
|
39
|
-
raise "Validation group '#{group}' not defined" unless validation_groups.include?(group)
|
40
|
-
|
41
|
-
errors.clear
|
42
|
-
run_group_validation_callbacks group
|
43
|
-
errors.empty?
|
44
|
-
end
|
45
|
-
|
46
38
|
def groups_valid?(*groups)
|
47
39
|
errors.clear
|
48
40
|
groups.each do |group|
|
@@ -51,14 +43,7 @@ module GroupedValidations
|
|
51
43
|
end
|
52
44
|
errors.empty?
|
53
45
|
end
|
54
|
-
|
55
|
-
def valid_with_groups?
|
56
|
-
valid_without_groups?
|
57
|
-
(validation_groups || []).each do |group|
|
58
|
-
run_group_validation_callbacks group
|
59
|
-
end
|
60
|
-
errors.empty?
|
61
|
-
end
|
46
|
+
alias group_valid? groups_valid?
|
62
47
|
|
63
48
|
end
|
64
49
|
|
@@ -3,7 +3,7 @@ module GroupedValidations
|
|
3
3
|
module ClassMethods
|
4
4
|
|
5
5
|
def define_group_validation_callbacks(group)
|
6
|
-
define_callbacks :"validate_#{group}", :scope => 'validate'
|
6
|
+
define_callbacks :"validate_#{group}", :terminator => "result == false", :scope => 'validate'
|
7
7
|
end
|
8
8
|
|
9
9
|
def validate_with_groups(*args, &block)
|
@@ -11,7 +11,7 @@ module GroupedValidations
|
|
11
11
|
options = args.last
|
12
12
|
if options.is_a?(Hash) && options.key?(:on)
|
13
13
|
options[:if] = Array(options[:if])
|
14
|
-
options[:if] << "
|
14
|
+
options[:if] << "self.validation_context == :#{options[:on]}"
|
15
15
|
end
|
16
16
|
set_callback(:"validate_#{@current_validation_group}", *args, &block)
|
17
17
|
else
|
@@ -23,9 +23,19 @@ module GroupedValidations
|
|
23
23
|
|
24
24
|
module InstanceMethods
|
25
25
|
|
26
|
+
def valid_with_groups?(context=nil)
|
27
|
+
valid_without_groups?(context)
|
28
|
+
(validation_groups || []).each do |group|
|
29
|
+
run_group_validation_callbacks group
|
30
|
+
end
|
31
|
+
errors.empty?
|
32
|
+
end
|
33
|
+
|
26
34
|
def run_group_validation_callbacks(group)
|
27
|
-
|
35
|
+
current_context, self.validation_context = validation_context, (new_record? ? :create : :update)
|
28
36
|
send(:"_run_validate_#{group}_callbacks")
|
37
|
+
ensure
|
38
|
+
self.validation_context = current_context
|
29
39
|
end
|
30
40
|
|
31
41
|
end
|
@@ -24,6 +24,14 @@ module GroupedValidations
|
|
24
24
|
|
25
25
|
module InstanceMethods
|
26
26
|
|
27
|
+
def valid_with_groups?
|
28
|
+
valid_without_groups?
|
29
|
+
(validation_groups || []).each do |group|
|
30
|
+
run_group_validation_callbacks group
|
31
|
+
end
|
32
|
+
errors.empty?
|
33
|
+
end
|
34
|
+
|
27
35
|
def run_group_validation_callbacks(group)
|
28
36
|
base_name = :"validate_#{group}"
|
29
37
|
run_callbacks(base_name)
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grouped_validations
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 2
|
10
|
+
version: 0.2.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Adam Meehan
|
@@ -15,7 +15,7 @@ autorequire: grouped_validations
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-08-10 00:00:00 +10:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|