From ac4c1c3b0adabecdb1217594fed16db32b27ee9e Mon Sep 17 00:00:00 2001 From: Sean Griffin Date: Tue, 20 May 2014 08:07:02 -0700 Subject: Use the generic type map object for mysql field lookups --- .../connection_adapters/type/hash_lookup_type_map.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 activerecord/lib/active_record/connection_adapters/type/hash_lookup_type_map.rb (limited to 'activerecord/lib/active_record/connection_adapters/type/hash_lookup_type_map.rb') diff --git a/activerecord/lib/active_record/connection_adapters/type/hash_lookup_type_map.rb b/activerecord/lib/active_record/connection_adapters/type/hash_lookup_type_map.rb new file mode 100644 index 0000000000..828ada00a7 --- /dev/null +++ b/activerecord/lib/active_record/connection_adapters/type/hash_lookup_type_map.rb @@ -0,0 +1,15 @@ +module ActiveRecord + module ConnectionAdapters + module Type + class HashLookupTypeMap < TypeMap # :nodoc: + def lookup(type) + @mapping.fetch(type, proc { default_value }).call(type) + end + + def alias_type(type, alias_type) + register_type(type) { lookup(alias_type) } + end + end + end + end +end -- cgit v1.2.3