diff options
author | Sean Griffin <sean@thoughtbot.com> | 2014-05-21 07:44:42 -0700 |
---|---|---|
committer | Sean Griffin <sean@thoughtbot.com> | 2014-05-21 07:44:42 -0700 |
commit | 30bf07d172f2764b27e887ff3a122ce3c08ff5fe (patch) | |
tree | a837466fc44970347c48445db8a2926a7cc8d189 /activerecord/lib/active_record/connection_adapters/postgresql/oid/vector.rb | |
parent | b452e4a39b8a4a8880825cc1868df656ede7d609 (diff) | |
download | rails-30bf07d172f2764b27e887ff3a122ce3c08ff5fe.tar.gz rails-30bf07d172f2764b27e887ff3a122ce3c08ff5fe.tar.bz2 rails-30bf07d172f2764b27e887ff3a122ce3c08ff5fe.zip |
Move PG OID types to their own files
As we promote these classes to first class concepts, these classes are
starting to gain enough behavior to warrant being moved into their own
files. Many of them will become quite large as we move additional
behavior to the type objects.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/postgresql/oid/vector.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/postgresql/oid/vector.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql/oid/vector.rb b/activerecord/lib/active_record/connection_adapters/postgresql/oid/vector.rb new file mode 100644 index 0000000000..2f7d1be197 --- /dev/null +++ b/activerecord/lib/active_record/connection_adapters/postgresql/oid/vector.rb @@ -0,0 +1,26 @@ +module ActiveRecord + module ConnectionAdapters + module PostgreSQL + module OID # :nodoc: + class Vector < Type::Value + attr_reader :delim, :subtype + + # +delim+ corresponds to the `typdelim` column in the pg_types + # table. +subtype+ is derived from the `typelem` column in the + # pg_types table. + def initialize(delim, subtype) + @delim = delim + @subtype = subtype + end + + # FIXME: this should probably split on +delim+ and use +subtype+ + # to cast the values. Unfortunately, the current Rails behavior + # is to just return the string. + def type_cast(value) + value + end + end + end + end + end +end |