Sha256: aee7da226b6e2cc688d6d8250399e5e690e366674746c8d7ac69918a8334a794
Contents?: true
Size: 865 Bytes
Versions: 1
Compression:
Stored size: 865 Bytes
Contents
require 'cassanity/increment' require 'cassanity/decrement' module Cassanity module ArgumentGenerators class SetClause # Internal def call(args = {}) set = args.fetch(:set) cql, variables, sets = '', [], [] set.each do |key, value| case value when Cassanity::Increment, Cassanity::Decrement, Cassanity::Addition, Cassanity::Removal, Cassanity::SetAddition, Cassanity::SetRemoval sets << "#{key} = #{key} #{value.symbol} ?" variables << value.value when Cassanity::CollectionItem sets << "#{key}[?] = ?" variables << value.key << value.value else sets << "#{key} = ?" variables << value end end cql << " SET #{sets.join(', ')}" [cql, *variables] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cassanity-0.6.0 | lib/cassanity/argument_generators/set_clause.rb |