Module: DatastaxRails::Cql::Transactions
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/datastax_rails/cql/transactions.rb
Overview
CQL generation for appending transactions to other queries
Instance Method Summary collapse
- #if_exists ⇒ Object
- #if_not_exists ⇒ Object
- #iff(columns) ⇒ Object
- #initialize ⇒ Object
- #to_cql_with_transactions ⇒ Object
Instance Method Details
#if_exists ⇒ Object
23 24 25 26 |
# File 'lib/datastax_rails/cql/transactions.rb', line 23 def if_exists @if_exists = true self end |
#if_not_exists ⇒ Object
28 29 30 31 |
# File 'lib/datastax_rails/cql/transactions.rb', line 28 def if_not_exists @if_not_exists = true self end |
#iff(columns) ⇒ Object
18 19 20 21 |
# File 'lib/datastax_rails/cql/transactions.rb', line 18 def iff(columns) @if_conditions = columns self end |
#initialize ⇒ Object
11 12 13 14 15 16 |
# File 'lib/datastax_rails/cql/transactions.rb', line 11 def initialize(*) @if_conditions = {} @if_exists = nil @if_not_exists = nil super end |
#to_cql_with_transactions ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# 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 |