Module: GroupedValidations::InstanceMethods
- Defined in:
- lib/monkey_forms/vendor/grouped_validations/lib/grouped_validations.rb
Instance Method Summary collapse
- #_run_group_validation_callbacks(group, context = nil) ⇒ Object
- #grouped_errors(context = nil) ⇒ Object
- #groups_valid?(*groups) ⇒ Boolean (also: #group_valid?)
- #valid?(context = nil) ⇒ Boolean
- #with_validation_context(context) ⇒ Object
Instance Method Details
#_run_group_validation_callbacks(group, context = nil) ⇒ Object
78 79 80 81 82 |
# File 'lib/monkey_forms/vendor/grouped_validations/lib/grouped_validations.rb', line 78 def _run_group_validation_callbacks(group, context=nil) with_validation_context(context) do send(:"_run_validate_#{group}_callbacks") end end |
#grouped_errors(context = nil) ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/monkey_forms/vendor/grouped_validations/lib/grouped_validations.rb', line 58 def grouped_errors(context=nil) original_errors = @errors.dup if @errors @errors = nil grouped = {} with_validation_context(context) do _run_validate_callbacks grouped[nil] = @errors validation_groups.each do |group| @errors = nil send(:"_run_validate_#{group}_callbacks") grouped[group] = @errors end end grouped.values.all?(&:empty?) ? {} : grouped ensure @errors = original_errors end |
#groups_valid?(*groups) ⇒ Boolean Also known as: group_valid?
47 48 49 50 51 52 53 54 55 |
# File 'lib/monkey_forms/vendor/grouped_validations/lib/grouped_validations.rb', line 47 def groups_valid?(*groups) = groups. errors.clear groups.each do |group| raise "Validation group '#{group}' not defined" unless validation_groups.include?(group) _run_group_validation_callbacks(group, [:context]) end errors.empty? end |
#valid?(context = nil) ⇒ Boolean
39 40 41 42 43 44 45 |
# File 'lib/monkey_forms/vendor/grouped_validations/lib/grouped_validations.rb', line 39 def valid?(context=nil) super validation_groups.each do |group| _run_group_validation_callbacks(group, context) end errors.empty? end |
#with_validation_context(context) ⇒ Object
84 85 86 87 88 89 90 |
# File 'lib/monkey_forms/vendor/grouped_validations/lib/grouped_validations.rb', line 84 def with_validation_context(context) context ||= (persisted? ? :update : :create) current_context, self.validation_context = validation_context, context yield ensure self.validation_context = current_context end |