module ActiveRecord::MassAssignmentSecurity::Core

Public Class Methods

new(attributes = nil, options = {}) { |self| ... } click to toggle source
# 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
  init_changed_attributes
  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

Public Instance Methods

init_internals() click to toggle source
Calls superclass method
# File lib/active_record/mass_assignment_security/core.rb, line 22
def init_internals
  super
  @mass_assignment_options = nil
end