4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/active_record/mass_assignment_security/core.rb', line 4
def initialize(attributes = nil, options = {})
defaults = self.class.column_defaults.dup
defaults.each { |k, v| defaults[k] = v.dup if v.duplicable? }
@attributes = self.class.initialize_attributes(defaults)
@columns_hash = self.class.column_types.dup
init_internals
ensure_proper_type
populate_with_current_scope_attributes
assign_attributes(attributes, options) if attributes
yield self if block_given?
run_callbacks :initialize unless _initialize_callbacks.empty?
end
|