module Cassie::Statements::Statement::Deleting

Public Class Methods

included(base) click to toggle source

@!visibility private @!parse include Relations @!parse extend Relations::ClassMethods @!parse include Conditions @!parse extend Conditions::ClassMethods @!parse include Mapping @!parse extend Mapping::ClassMethods

# File lib/cassie/statements/statement/deleting.rb, line 15
def self.included(base)
  base.instance_eval do
    include Relations
    include Conditions
    include Mapping

    @result_class = Cassie::Statements::Results::ModificationResult
  end
  base.extend ClassMethods
end

Protected Instance Methods

build_delete_clause() click to toggle source
# File lib/cassie/statements/statement/deleting.rb, line 74
def build_delete_clause
  if columns.empty?
    ''
  else
    columns.join(', ')
  end
end
build_delete_cql_and_params() click to toggle source
# File lib/cassie/statements/statement/deleting.rb, line 55
def build_delete_cql_and_params
  where_str, where_params = build_where_and_params
  condition_str, condition_params = build_condition_and_params

  @cql = %(
    DELETE #{build_delete_clause}
      FROM #{table}
      #{where_str}
      #{condition_str}
  ).squish + ";"

  @params = where_params + condition_params
end
columns() click to toggle source

a delete clause is built up of zero or more columns

# File lib/cassie/statements/statement/deleting.rb, line 70
def columns
  self.class.columns
end