Class: DatastaxRails::Cql::Insert
- Defined in:
- lib/datastax_rails/cql/insert.rb
Overview
CQL generation for INSERT
Instance Method Summary collapse
- #columns(columns) ⇒ Object
-
#initialize(klass) ⇒ Insert
constructor
A new instance of Insert.
- #timestamp(timestamp) ⇒ Object
- #to_cql ⇒ Object
- #ttl(ttl) ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(klass) ⇒ Insert
Returns a new instance of Insert.
5 6 7 8 9 10 11 |
# File 'lib/datastax_rails/cql/insert.rb', line 5 def initialize(klass) @klass = klass @ttl = nil @timestamp = nil @columns = {} super end |
Instance Method Details
#columns(columns) ⇒ Object
13 14 15 16 |
# File 'lib/datastax_rails/cql/insert.rb', line 13 def columns(columns) @columns.merge!(columns) self end |
#timestamp(timestamp) ⇒ Object
23 24 25 26 |
# File 'lib/datastax_rails/cql/insert.rb', line 23 def () @timestamp = self end |
#to_cql ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# 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) ⇒ Object
18 19 20 21 |
# File 'lib/datastax_rails/cql/insert.rb', line 18 def ttl(ttl) @ttl = ttl self end |