diff options
author | Sean Griffin <sean@thoughtbot.com> | 2015-01-27 12:07:06 -0700 |
---|---|---|
committer | Sean Griffin <sean@thoughtbot.com> | 2015-01-27 12:07:06 -0700 |
commit | 6c235dd95812a7c4e8123b6d34d6f3433805ee1c (patch) | |
tree | 9c148b9d42c13a88fe646494529d9f756e391405 /activerecord/lib/active_record/table_metadata.rb | |
parent | 102a5272c5944a6f715da8332d18e7e0380727d1 (diff) | |
download | rails-6c235dd95812a7c4e8123b6d34d6f3433805ee1c.tar.gz rails-6c235dd95812a7c4e8123b6d34d6f3433805ee1c.tar.bz2 rails-6c235dd95812a7c4e8123b6d34d6f3433805ee1c.zip |
Use an `Attribute` object to represent a bind value
The column is primarily used for type casting, which we're trying to
separate from the idea of a column. Since what we really need is the
combination of a name, type, and value, let's use the object that we
already have to represent that concept, rather than this tuple. No
consumers of the bind values have been changed, only the producers
(outside of tests which care too much about internals). This is
*finally* possible since the bind values are now produced from a
reasonable number of lcoations.
Diffstat (limited to 'activerecord/lib/active_record/table_metadata.rb')
-rw-r--r-- | activerecord/lib/active_record/table_metadata.rb | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/activerecord/lib/active_record/table_metadata.rb b/activerecord/lib/active_record/table_metadata.rb index 3707fd3f04..6c8792ee80 100644 --- a/activerecord/lib/active_record/table_metadata.rb +++ b/activerecord/lib/active_record/table_metadata.rb @@ -22,12 +22,11 @@ module ActiveRecord arel_table[column_name] end - def column(column_name) + def type(column_name) if klass - klass.columns_hash[column_name.to_s] + klass.type_for_attribute(column_name.to_s) else - # FIXME: We really shouldn't need to do this. - ConnectionAdapters::Column.new(column_name.to_s, nil, Type::Value.new) + Type::Value.new end end |