Module: Zuora::Models::Utils

Defined in:
lib/zuora/models/utils.rb

Class Method Summary collapse

Class Method Details

.validate_children(sender, message, *fields) ⇒ Nil

Calls validate_each on for each provided attribute. Attaches error generated via message fragment. e.g. ‘invalid widget’

Parameters:

  • sender; (Object)
  • message (String)
  • fields (Array<Symbol>)

Returns:

  • (Nil)


12
13
14
15
16
17
18
19
20
# File 'lib/zuora/models/utils.rb', line 12

def self.validate_children(sender, message, *fields)
  sender.validates_each fields do |record, attr, value|
    if !value.respond_to?(:valid?) || !value.respond_to?(:errors)
      record.errors.add attr, "invalid #{message}"
    elsif value.invalid?
      record.errors.add attr, value.errors.join(',')
    end
  end
end