Class: Cassanity::ArgumentGenerators::ColumnFamilyInsert
- Inherits:
-
Object
- Object
- Cassanity::ArgumentGenerators::ColumnFamilyInsert
- Defined in:
- lib/cassanity/argument_generators/column_family_insert.rb
Instance Method Summary collapse
-
#call(args = {}) ⇒ Object
Internal.
Instance Method Details
#call(args = {}) ⇒ Object
Internal
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/cassanity/argument_generators/column_family_insert.rb', line 6 def call(args = {}) name = args.fetch(:column_family_name) data = args.fetch(:data) using = args[:using] || {} keys = data.keys binders = ['?'] * keys.size if (keyspace_name = args[:keyspace_name]) name = "#{keyspace_name}.#{name}" end cql = "INSERT INTO #{name} (#{keys.join(', ')}) VALUES (#{binders.join(', ')})" unless using.empty? statements = [] using.each do |key, value| statements << "#{key.upcase} #{value}" end cql << " USING #{statements.join(' AND ')}" end [cql, *data.values] end |