aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/attribute.rb
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2016-12-29 02:18:38 -0500
committerGitHub <noreply@github.com>2016-12-29 02:18:38 -0500
commiteb6a6141a66e052deb58580448d7c0fa6aa675ba (patch)
tree0017a57044ec8e466c97cc6b7879d39caa6c1ffa /activerecord/lib/active_record/attribute.rb
parent447e1a48811fa053e8bef954376d1ad47bdb5cef (diff)
parentfcec126eaa4f835c837bc75efa78008667b2ec5b (diff)
downloadrails-eb6a6141a66e052deb58580448d7c0fa6aa675ba.tar.gz
rails-eb6a6141a66e052deb58580448d7c0fa6aa675ba.tar.bz2
rails-eb6a6141a66e052deb58580448d7c0fa6aa675ba.zip
Merge branch 'master' into clear_all_environments_log_by_default
Diffstat (limited to 'activerecord/lib/active_record/attribute.rb')
-rw-r--r--activerecord/lib/active_record/attribute.rb19
1 files changed, 11 insertions, 8 deletions
diff --git a/activerecord/lib/active_record/attribute.rb b/activerecord/lib/active_record/attribute.rb
index 0b08c2a39b..38281158d8 100644
--- a/activerecord/lib/active_record/attribute.rb
+++ b/activerecord/lib/active_record/attribute.rb
@@ -128,11 +128,22 @@ module ActiveRecord
coder["value"] = value if defined?(@value)
end
+ # TODO Change this to private once we've dropped Ruby 2.2 support.
+ # Workaround for Ruby 2.2 "private attribute?" warning.
protected
attr_reader :original_attribute
alias_method :assigned?, :original_attribute
+ def original_value_for_database
+ if assigned?
+ original_attribute.original_value_for_database
+ else
+ _original_value_for_database
+ end
+ end
+
+ private
def initialize_dup(other)
if defined?(@value) && @value.duplicable?
@value = @value.dup
@@ -143,14 +154,6 @@ module ActiveRecord
assigned? && type.changed?(original_value, value, value_before_type_cast)
end
- def original_value_for_database
- if assigned?
- original_attribute.original_value_for_database
- else
- _original_value_for_database
- end
- end
-
def _original_value_for_database
type.serialize(original_value)
end