diff options
author | Prem Sichanugrist <s@sikachu.com> | 2011-05-15 14:19:09 -0400 |
---|---|---|
committer | Prem Sichanugrist <s@sikachu.com> | 2011-05-15 19:07:40 -0400 |
commit | 5ca67eca21d2adfb418f96b63e7d3de237737a1e (patch) | |
tree | cda804ef476e426d94f5410df63d34abe3af935b /activerecord/lib | |
parent | dde82a44d702f8416905476bbea5842157d6a508 (diff) | |
download | rails-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/lib')
-rw-r--r-- | activerecord/lib/active_record/base.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index e1bf2ccc8a..cfe6d8d2de 100644 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -767,6 +767,14 @@ module ActiveRecord #:nodoc: super || (table_exists? && column_names.include?(attribute.to_s.sub(/=$/, ''))) end + def attribute_names + @attribute_names ||= if !abstract_class? && table_exists? + column_names + else + [] + end + end + # Set the lookup ancestors for ActiveModel. def lookup_ancestors #:nodoc: klass = self |