aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/delete_manager.rb
blob: aee4511249d411ac32a9ff53dc37eccf4d5d2584 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# frozen_string_literal: true
module Arel
  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