aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/attributes/attribute.rb
blob: bd3f4b58f1a96b955f242f5acabf40455868fa3a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
module Arel
  module Attributes
    class Attribute < Struct.new :relation, :name
      include Arel::Expressions
      include Arel::Predications
    end

    class NumericAttribute < Attribute
      include Arel::Math
    end

    class String    < Attribute; end
    class Time      < Attribute; end
    class Boolean   < Attribute; end
    class Decimal   < NumericAttribute; end
    class Float     < NumericAttribute; end
    class Integer   < NumericAttribute; end
    class Undefined < Attribute; end
  end

  Attribute = Attributes::Attribute
end