Class: SqlPostgres::Delete

Inherits:
Object
  • Object
show all
Defined in:
lib/sqlpostgres/Delete.rb

Overview

This class creates and executes an SQL delete statement.

Instance Method Summary collapse

Constructor Details

#initialize(table, connection = Connection.default) ⇒ Delete

Create a delete statement

[table] The table name [connection] If supplied, the connection to use. If not supplied, use the default.



15
16
17
18
19
# File 'lib/sqlpostgres/Delete.rb', line 15

def initialize(table, connection = Connection.default)
  @table = table
  @connection = connection
  @where = []
end

Instance Method Details

#exec(connection = @connection) ⇒ Object

Execute the delete statement

[connection] If present, the connection to use. If nil, uses the connection passed to new, or if no connection was passed to new, uses the default connection.



45
46
47
# File 'lib/sqlpostgres/Delete.rb', line 45

def exec(connection = @connection)
  connection.exec(statement)
end

#statementObject

Return the SQL statement



34
35
36
# File 'lib/sqlpostgres/Delete.rb', line 34

def statement
  "delete from #{@table}#{where_clause}"
end

#where(expression) ⇒ Object

Add a "where" condition to this statement.

[expression] The condition. Should be one of:

[A string] The expression
[An array] An expression converted using #substitute_values


28
29
30
# File 'lib/sqlpostgres/Delete.rb', line 28

def where(expression)
  @where << Translate.substitute_values(expression)
end