aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/arel/attributes.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/lib/arel/attributes.rb')
-rw-r--r--activerecord/lib/arel/attributes.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/activerecord/lib/arel/attributes.rb b/activerecord/lib/arel/attributes.rb
new file mode 100644
index 0000000000..ed4739ebed
--- /dev/null
+++ b/activerecord/lib/arel/attributes.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+require 'arel/attributes/attribute'
+
+module Arel
+ module Attributes
+ ###
+ # Factory method to wrap a raw database +column+ to an Arel Attribute.
+ def self.for column
+ case column.type
+ when :string, :text, :binary then String
+ when :integer then Integer
+ when :float then Float
+ when :decimal then Decimal
+ when :date, :datetime, :timestamp, :time then Time
+ when :boolean then Boolean
+ else
+ Undefined
+ end
+ end
+ end
+end