Module: Riveter::AttributeDefaultValues

Extended by:
ActiveSupport::Concern
Defined in:
lib/riveter/attribute_default_values.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#set_defaultsObject



57
58
59
60
61
62
63
64
65
# File 'lib/riveter/attribute_default_values.rb', line 57

def set_defaults
  return if self.respond_to?(:persisted?) && self.persisted?
  self.class.attribute_defaults.each do |attribute, value_or_proc|
    value = value_or_proc.respond_to?(:call) ?
      (value_or_proc.call(self) rescue value_or_proc.call) :
      value_or_proc
    send("#{attribute}=", value) if send(attribute).blank?
  end
end