Sha256: b0734c9b0beeeb32eb9b06f03c1bea209dbf75360e2ff8981d74eccd29c60aa9

Contents?: true

Size: 620 Bytes

Versions: 8

Compression:

Stored size: 620 Bytes

Contents

module Arel
  module SqlToArel
    class Result < Array
      def to_sql(engine = Arel::Table.engine)
        sql, _binds = to_sql_and_binds(engine)
        sql
      end

      def to_sql_and_binds(engine = Arel::Table.engine)
        sql_collection = []
        binds_collection = []

        each do |item|
          sql, binds = item.to_sql_and_binds(engine)
          sql_collection << sql
          binds_collection.concat(binds)
        end

        [
          sql_collection.join('; '),
          binds_collection,
        ]
      end

      def map(&block)
        Result.new super
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
arel_toolkit-0.4.8 lib/arel/sql_to_arel/result.rb
arel_toolkit-0.4.7 lib/arel/sql_to_arel/result.rb
arel_toolkit-0.4.6 lib/arel/sql_to_arel/result.rb
arel_toolkit-0.4.5 lib/arel/sql_to_arel/result.rb
arel_toolkit-0.4.4 lib/arel/sql_to_arel/result.rb
arel_toolkit-0.4.3 lib/arel/sql_to_arel/result.rb
arel_toolkit-0.4.2 lib/arel/sql_to_arel/result.rb
arel_toolkit-0.4.1 lib/arel/sql_to_arel/result.rb