Sha256: fc1ee3b4fcf4b1ac937bfe2eb3de4beafcedfccb06879a66a7cf4b9ed7d8287b

Contents?: true

Size: 733 Bytes

Versions: 5

Compression:

Stored size: 733 Bytes

Contents

require "attachie"
require "attachie/s3_driver"
require "attachie/fake_driver"

module Kraps
  module Drivers
    module Driver
      def with_prefix(path)
        File.join(*[@prefix, path].compact)
      end
    end

    class S3Driver
      include Driver

      attr_reader :driver, :bucket, :prefix

      def initialize(s3_client:, bucket:, prefix: nil)
        @driver = Attachie::S3Driver.new(s3_client)
        @bucket = bucket
        @prefix = prefix
      end
    end

    class FakeDriver
      include Driver

      attr_reader :driver, :bucket, :prefix

      def initialize(bucket:, prefix: nil)
        @driver = Attachie::FakeDriver.new
        @bucket = bucket
        @prefix = prefix
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
kraps-0.5.0 lib/kraps/drivers.rb
kraps-0.4.0 lib/kraps/drivers.rb
kraps-0.3.0 lib/kraps/drivers.rb
kraps-0.2.0 lib/kraps/drivers.rb
kraps-0.1.0 lib/kraps/drivers.rb