Module: Arel

Defined in:
lib/active_record_upsert/arel/crud.rb,
lib/active_record_upsert/arel/nodes/do_nothing.rb,
lib/active_record_upsert/arel/nodes/on_conflict.rb,
lib/active_record_upsert/arel/nodes/do_update_set.rb,
lib/active_record_upsert/arel/nodes/excluded_column.rb,
lib/active_record_upsert/arel/nodes/insert_statement.rb,
lib/active_record_upsert/arel/nodes/on_conflict_action.rb,
lib/active_record_upsert/arel/on_conflict_do_update_manager.rb

Overview

module ActiveRecordUpsert

module Arel
  module Nodes
    module InsertStatementExtensions
      attr_accessor :on_conflict

      def initialize
        @on_conflict = nil
        super()
      end

      def hash
        [@relation, @columns, @values, @select, @on_conflict].hash
      end

      def eql? other
        self.class == other.class &&
          self.relation == other.relation &&
          self.columns == other.columns &&
          self.select == other.select &&
          self.values == other.values &&
          self.on_conflict == other.on_conflict
      end
    end

    ::Arel::Nodes::InsertStatement.prepend(InsertStatementExtensions)
  end
end

end

Defined Under Namespace

Modules: Nodes Classes: OnConflictDoUpdateManager, Table