Sha256: 09918f9d97143c8b15594c938e1793d09b1aafca02be34448b0bebd94b451d58

Contents?: true

Size: 638 Bytes

Versions: 1

Compression:

Stored size: 638 Bytes

Contents

require 'rubygems'

require 'minitest/unit'
require 'minitest/autorun'

require 'retryable_record'

class Spec < MiniTest::Spec
end

class FakeRecord
  include RetryableRecord

  attr_accessor :counter

  def initialize(retries_left = 0)
    @counter = Hash.new(0)
    @counter[:retries_left] = retries_left
  end

  def reload
    @counter[:reload] += 1
    self
  end

  def save!
    @counter[:save] += 1
  end

  def retries_left?
    @counter[:retries_left] > 0
  end

  def concurrent_modification!
    if retries_left?
      @counter[:retries_left] -= 1
      raise ActiveRecord::StaleObjectError.new self, :save
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
retryable_record-0.2.0 test/helper.rb