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

       
                      
                              


          
                   



                                                                       
                     
                        


       
# frozen_string_literal: true

module Arel # :nodoc: all
  class DeleteManager < Arel::TreeManager
    def initialize
      super
      @ast = Nodes::DeleteStatement.new
      @ctx = @ast
    end

    def from(relation)
      @ast.relation = relation
      self
    end

    def take(limit)
      @ast.limit = Nodes::Limit.new(Nodes.build_quoted(limit)) if limit
      self
    end

    def wheres=(list)
      @ast.wheres = list
    end
  end
end