class DatastaxRails::Cql::Insert
CQL generation for INSERT
Public Class Methods
new(klass)
click to toggle source
Calls superclass method
DatastaxRails::Cql::Base::new
# File lib/datastax_rails/cql/insert.rb, line 5 def initialize(klass) @klass = klass @ttl = nil @timestamp = nil @columns = {} super end
Public Instance Methods
columns(columns)
click to toggle source
# File lib/datastax_rails/cql/insert.rb, line 13 def columns(columns) @columns.merge!(columns) self end
timestamp(timestamp)
click to toggle source
# File lib/datastax_rails/cql/insert.rb, line 23 def timestamp(timestamp) @timestamp = timestamp self end
to_cql()
click to toggle source
# File lib/datastax_rails/cql/insert.rb, line 28 def to_cql keys = [] @columns.each do |k, v| keys << k.to_s @values << v end stmt = "INSERT INTO #{@klass.column_family} (#{keys.join(',')}) " stmt << "VALUES (#{('?' * keys.size).split(//).join(',')}) " if @ttl || @timestamp stmt << 'USING ' stmt << "TTL #{@ttl} " if @ttl stmt << 'AND ' if @ttl && @timestamp stmt << "TIMESTAMP #{@timestamp} " if @timestamp end stmt.force_encoding('UTF-8') end
ttl(ttl)
click to toggle source
# File lib/datastax_rails/cql/insert.rb, line 18 def ttl(ttl) @ttl = ttl self end