aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/table_metadata.rb
diff options
context:
space:
mode:
authorSean Griffin <sean@thoughtbot.com>2015-01-27 12:07:06 -0700
committerSean Griffin <sean@thoughtbot.com>2015-01-27 12:07:06 -0700
commit6c235dd95812a7c4e8123b6d34d6f3433805ee1c (patch)
tree9c148b9d42c13a88fe646494529d9f756e391405 /activerecord/lib/active_record/table_metadata.rb
parent102a5272c5944a6f715da8332d18e7e0380727d1 (diff)
downloadrails-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.rb7
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