Sha256: 202e54c347a87605414a715a0460306776c941d7c635fefa913cfed2f5a55b7a
Contents?: true
Size: 734 Bytes
Versions: 9
Compression:
Stored size: 734 Bytes
Contents
module Arel module Middleware class ToSqlMiddleware attr_reader :sql, :type, :query_class def initialize(type) @sql = [] @type = type @query_class = class_from_type end def call(next_arel, next_middleware) sql << next_arel.to_sql unless next_arel.query(class: query_class).empty? next_middleware.call(next_arel) end private def class_from_type case type when :insert Arel::Nodes::InsertStatement when :select Arel::Nodes::SelectStatement when :update Arel::Nodes::UpdateStatement when :delete Arel::Nodes::DeleteStatement end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems