aboutsummaryrefslogblamecommitdiffstats
path: root/lib/arel/compatibility/wheres.rb
blob: b73b1786514c70b69ac63c35207749bd53162227 (plain) (tree)
1
2
3
4
5
6
7
8
9
10









                                



                      


















                                            
module Arel
  module Compatibility # :nodoc:
    class Wheres # :nodoc:
      include Enumerable

      module Value # :nodoc:
        attr_accessor :visitor
        def value
          visitor.accept self
        end

        def name
          super.to_sym
        end
      end

      def initialize engine, collection
        @engine     = engine
        @collection = collection
      end

      def each
        to_sql = Visitors::ToSql.new @engine

        @collection.each { |c|
          c.extend(Value)
          c.visitor = to_sql
          yield c
        }
      end
    end
  end
end