aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorPrem Sichanugrist <s@sikachu.com>2011-05-15 14:19:09 -0400
committerPrem Sichanugrist <s@sikachu.com>2011-05-15 19:07:40 -0400
commit5ca67eca21d2adfb418f96b63e7d3de237737a1e (patch)
treecda804ef476e426d94f5410df63d34abe3af935b /activerecord/test
parentdde82a44d702f8416905476bbea5842157d6a508 (diff)
downloadrails-5ca67eca21d2adfb418f96b63e7d3de237737a1e.tar.gz
rails-5ca67eca21d2adfb418f96b63e7d3de237737a1e.tar.bz2
rails-5ca67eca21d2adfb418f96b63e7d3de237737a1e.zip
Add ActiveRecord::attribute_names to retrieve a list of attribute names. This method will also return an empty array on an abstract class or a model that the table doesn't exists.
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/base_test.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb
index 9bc04ed29c..bfb66f07da 100644
--- a/activerecord/test/cases/base_test.rb
+++ b/activerecord/test/cases/base_test.rb
@@ -1790,4 +1790,17 @@ class BasicsTest < ActiveRecord::TestCase
assert_equal expected.attributes, actual.attributes
end
+
+ def test_attribute_names
+ assert_equal ["id", "type", "ruby_type", "firm_id", "firm_name", "name", "client_of", "rating", "account_id"],
+ Company.attribute_names
+ end
+
+ def test_attribute_names_on_table_not_exists
+ assert_equal [], NonExistentTable.attribute_names
+ end
+
+ def test_attribtue_names_on_abstract_class
+ assert_equal [], AbstractCompany.attribute_names
+ end
end