diff options
author | Sean Griffin <sean@seantheprogrammer.com> | 2016-08-31 14:46:40 -0400 |
---|---|---|
committer | Sean Griffin <sean@seantheprogrammer.com> | 2016-08-31 14:46:40 -0400 |
commit | 8ab9daf2803504edbd49f9c97a7f2eb484f15747 (patch) | |
tree | 7fc8e21fb8e9b48d4fa908791b00816b9c9e8dfd | |
parent | b347156b15aea7f6229203e0cc1a58937ecb8e93 (diff) | |
download | rails-8ab9daf2803504edbd49f9c97a7f2eb484f15747.tar.gz rails-8ab9daf2803504edbd49f9c97a7f2eb484f15747.tar.bz2 rails-8ab9daf2803504edbd49f9c97a7f2eb484f15747.zip |
Include user defined attributes in inspect
The fact that this only includes column names is an oversight.
-rw-r--r-- | activerecord/lib/active_record/core.rb | 2 | ||||
-rw-r--r-- | activerecord/test/cases/attributes_test.rb | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/core.rb b/activerecord/lib/active_record/core.rb index 2725c85446..4628d7fb16 100644 --- a/activerecord/lib/active_record/core.rb +++ b/activerecord/lib/active_record/core.rb @@ -500,7 +500,7 @@ module ActiveRecord # We check defined?(@attributes) not to issue warnings if the object is # allocated but not initialized. inspection = if defined?(@attributes) && @attributes - self.class.column_names.collect do |name| + self.class.attribute_names.collect do |name| if has_attribute?(name) "#{name}: #{attribute_for_inspect(name)}" end diff --git a/activerecord/test/cases/attributes_test.rb b/activerecord/test/cases/attributes_test.rb index 7ec1f6f18c..c18851257e 100644 --- a/activerecord/test/cases/attributes_test.rb +++ b/activerecord/test/cases/attributes_test.rb @@ -249,5 +249,11 @@ module ActiveRecord model.foo = "lol" refute model.changed? end + + test "attributes not backed by database columns appear in inspect" do + inspection = OverloadedType.new.inspect + + assert inspection.include?("non_existent_decimal") + end end end |