module Cassie::Statements::Statement::Updating

Public Class Methods

included(base) click to toggle source

@!visibility private @!parse include Relations @!parse extend Relations::ClassMethods @!parse include Assignments @!parse extend Assignments::ClassMethods @!parse include Conditions @!parse extend Conditions::ClassMethods

# File lib/cassie/statements/statement/updating.rb, line 14
def self.included(base)
  base.instance_eval do
    include Relations
    include Assignments
    include Conditions

    @result_class = Cassie::Statements::Results::ModificationResult
  end
  base.extend ClassMethods
end

Protected Instance Methods

build_update_cql_and_params() click to toggle source

Sets the {#cql} and {#params} for a building a bound statement @return [void]

# File lib/cassie/statements/statement/updating.rb, line 41
def build_update_cql_and_params
  assignment_str, update_params = build_update_and_params
  where_str, where_params = build_where_and_params
  condition_str, condition_params = build_condition_and_params

  @cql = %(
    UPDATE #{table}
    SET #{assignment_str}
    #{where_str}
    #{condition_str}
  ).squish + ";"

  @params = update_params + where_params + condition_params
end