Sha256: 38b8a481ee8d050cc7cacca25cc84e10220d52a0ed0ad0981644f7eac17674c1
Contents?: true
Size: 1.27 KB
Versions: 2
Compression:
Stored size: 1.27 KB
Contents
# encoding: utf-8 module QueryBuilder::CQL module Modifiers # Provides columns and values for INSERT statement # module Insert # Defines value to be inserted # # @param [Hash] options # # @return [QueryBuilder::Core::Statement] updated statement # def insert(options = {}) options .flat_map { |k, v| [Column.new(name: k), Value.new(name: v)] } .inject(self, :<<) end private def maybe_insert [:column, :value] .map { |type| "(#{clauses(type).join(", ")})" } .join(" VALUES ") end # The clause defining a column # # @api private # class Column < Base type :column attribute :name, required: true # @private def to_s return name.to_s unless name.instance_of? Array "(#{name.join(", ")})" end end # class Column # The clause defining a value # # @api private # class Value < Base type :value attribute :name, required: true # @private def to_s cql_literal[name] end end # class Value end # module Insert end # module Modifiers end # module QueryBuilder::CQL
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
query_builder-0.0.4 | lib/query_builder/cql/modifiers/insert.rb |
query_builder-0.0.3 | lib/query_builder/cql/modifiers/insert.rb |