Sha256: 111210abdb1914ac372c1a488e81bce7b5497a15fee5732c5f8578c93dfca9dd

Contents?: true

Size: 531 Bytes

Versions: 1

Compression:

Stored size: 531 Bytes

Contents

module Novel
  module RepositoryAdapters
    class Redis
      attr_reader :connection_pool

      def initialize(connection_pool:)
        @connection_pool = connection_pool
      end

      def find_context(saga_id)
        result = connection_pool.with { |r| r.get("novel.sagas.#{saga_id}") }
        result ? Marshal.load(result) : nil
      end

      def persist_context(saga_id, context)
        connection_pool.with { |r| r.set("novel.sagas.#{saga_id}", Marshal.dump(context)) }
        context
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
novel-0.3.0 lib/novel/repository_adapters/redis.rb