mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Re-organize init_internals
* Avoid duplicated `@new_record` assignment * Extract `define_attribute_methods` into `init_internals`
This commit is contained in:
parent
48e606f25a
commit
2c0729d8cb
1 changed files with 4 additions and 5 deletions
|
@ -316,7 +316,7 @@ module ActiveRecord
|
||||||
# # Instantiates a single new object
|
# # Instantiates a single new object
|
||||||
# User.new(first_name: 'Jamie')
|
# User.new(first_name: 'Jamie')
|
||||||
def initialize(attributes = nil)
|
def initialize(attributes = nil)
|
||||||
self.class.define_attribute_methods
|
@new_record = true
|
||||||
@attributes = self.class._default_attributes.deep_dup
|
@attributes = self.class._default_attributes.deep_dup
|
||||||
|
|
||||||
init_internals
|
init_internals
|
||||||
|
@ -353,12 +353,10 @@ module ActiveRecord
|
||||||
# +attributes+ should be an attributes object, and unlike the
|
# +attributes+ should be an attributes object, and unlike the
|
||||||
# `initialize` method, no assignment calls are made per attribute.
|
# `initialize` method, no assignment calls are made per attribute.
|
||||||
def init_with_attributes(attributes, new_record = false) # :nodoc:
|
def init_with_attributes(attributes, new_record = false) # :nodoc:
|
||||||
init_internals
|
|
||||||
|
|
||||||
@new_record = new_record
|
@new_record = new_record
|
||||||
@attributes = attributes
|
@attributes = attributes
|
||||||
|
|
||||||
self.class.define_attribute_methods
|
init_internals
|
||||||
|
|
||||||
yield self if block_given?
|
yield self if block_given?
|
||||||
|
|
||||||
|
@ -574,9 +572,10 @@ module ActiveRecord
|
||||||
@destroyed = false
|
@destroyed = false
|
||||||
@marked_for_destruction = false
|
@marked_for_destruction = false
|
||||||
@destroyed_by_association = nil
|
@destroyed_by_association = nil
|
||||||
@new_record = true
|
|
||||||
@_start_transaction_state = nil
|
@_start_transaction_state = nil
|
||||||
@transaction_state = nil
|
@transaction_state = nil
|
||||||
|
|
||||||
|
self.class.define_attribute_methods
|
||||||
end
|
end
|
||||||
|
|
||||||
def initialize_internals_callback
|
def initialize_internals_callback
|
||||||
|
|
Loading…
Reference in a new issue