module DatastaxRails::Cql::Transactions
CQL generation for appending transactions to other queries
Public Class Methods
new(*)
click to toggle source
Calls superclass method
# File lib/datastax_rails/cql/transactions.rb, line 11 def initialize(*) @if_conditions = {} @if_exists = nil @if_not_exists = nil super end
Public Instance Methods
if_exists()
click to toggle source
# File lib/datastax_rails/cql/transactions.rb, line 23 def if_exists @if_exists = true self end
if_not_exists()
click to toggle source
# File lib/datastax_rails/cql/transactions.rb, line 28 def if_not_exists @if_not_exists = true self end
iff(columns)
click to toggle source
# File lib/datastax_rails/cql/transactions.rb, line 18 def iff(columns) @if_conditions = columns self end
to_cql_with_transactions()
click to toggle source
# File lib/datastax_rails/cql/transactions.rb, line 33 def to_cql_with_transactions stmt = to_cql_without_transactions if @if_not_exists stmt << ' IF NOT EXISTS' elsif @if_exists stmt << ' IF EXISTS' elsif @if_conditions.present? conditions = [] @if_conditions.each do |k, v| conditions << "\"#{k}\" = ?" @values << v end stmt << " IF #{conditions.join(' AND ')}" end stmt end