Module: ActiveRecord::MassAssignmentSecurity::Core

Included in:
Base
Defined in:
lib/active_record/mass_assignment_security/core.rb

Instance Method Summary collapse

Instance Method Details

#init_internalsObject



21
22
23
24
# File 'lib/active_record/mass_assignment_security/core.rb', line 21

def init_internals
  super
  @mass_assignment_options = nil
end

#initialize(attributes = nil, options = {}) {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



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