Sha256: 9ecbeaed68480daed6854873d0964be26da210eba27991841cf33ccc1cd12584

Contents?: true

Size: 707 Bytes

Versions: 3

Compression:

Stored size: 707 Bytes

Contents

module Ixtlan
  module Core
    module OptimisticActiveRecord

      def self.included(base)
        base.class_eval do
          def self.optimistic_find(updated_at, *args)
            updated_at_date = new(:updated_at => updated_at).updated_at
            # try different ways to use the date
            # TODO maybe there is a nicer way ??
            first(:conditions => ["id = ? and updated_at <= ? and updated_at >= ?", args[0], updated_at, updated_at_date - 0.001]) || first(:conditions => ["id = ? and updated_at <= ? and updated_at >= ?", args[0], updated_at_date, updated_at_date - 0.001])
            # TODO make it work with different PKs
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ixtlan-core-0.6.0 lib/ixtlan/core/optimistic_active_record.rb
ixtlan-core-0.5.0 lib/ixtlan/core/optimistic_active_record.rb
ixtlan-core-0.4.1 lib/ixtlan/core/optimistic_active_record.rb