Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
entity_cache / lib / entity_cache / substitute.rb
Size: Mime:
class EntityCache
  module Substitute
    def self.build
      EntityCache.build
    end

    class EntityCache < EntityCache
      include Log::Dependency

      def self.build
        new
      end

      def add(id, entity, version=nil, persisted_version: nil)
        version ||= 0
        persisted_version ||= version

        time = clock.iso8601(precision: 5)

        record = Record.new id, entity, version, time, persisted_version, time

        temporary_store.put record
      end

      def put_record(record)
        put_records << record
      end

      def put_records
        @put_records ||= []
      end

      module Assertions
        def put?(&blk)
          return put_records.any? if blk.nil?

          put_records.any? do |record|
            blk.(record)
          end
        end
      end
    end
  end
end