Sha256: 773ea5d467c9932b88c37404c0c84270a71d82c639d38ea993d32f58dcfdbc7c

Contents?: true

Size: 481 Bytes

Versions: 2

Compression:

Stored size: 481 Bytes

Contents

# frozen_string_literal: true

module TPRecordOptimistic
  require 'tp_record_optimistic/engine' if defined?(Rails)
  extend ActiveSupport::Concern

  def save(*args)
    super(*args)
  end

  alias old_save save

  def save_optimistic(*args)
    old_save(*args)
  rescue ActiveRecord::RecordNotUnique => e
    errors.add('all', e.to_s)
    return false
  end

  def optimistic_unique
    alias save save_optimistic
  end
end

ActiveRecord::Base.send(:include, TPRecordOptimistic)

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tp_record_optimistic-0.0.2 lib/tp_record_optimistic.rb
tp_record_optimistic-0.0.1 lib/tp_record_optimistic.rb