module ActForm::Combinable
Public Instance Methods
combine(*forms)
click to toggle source
# File lib/act_form/combinable.rb, line 34 def combine(*forms) forms.each do |form_class| raise ArgumentError, "can't combine itself" if form_class == self next if self._forms.include?(form_class) self.merge_attribute_set_from(form_class) self._forms << form_class end end
combined_forms_valid?(context)
click to toggle source
# File lib/act_form/combinable.rb, line 18 def combined_forms_valid?(context) return if _forms.empty? _forms.each do |form_class| form = form_class.new(attributes) form.valid?(context) form.errors.details.each do |attr_name, arr| arr.each do |error| next if error[:error] == :required errors.add(attr_name, error[:error]) end end end end
valid?(context = nil)
click to toggle source
Calls superclass method
# File lib/act_form/combinable.rb, line 12 def valid?(context = nil) super combined_forms_valid?(context) errors.empty? end