Sha256: 7ec95fd1525591c7c234abe5a27a206ab2438c877c1620551476716b6f4affbe

Contents?: true

Size: 737 Bytes

Versions: 15

Compression:

Stored size: 737 Bytes

Contents

require "s3"
require "mime-types"

module Frizz
  class Remote
    def initialize(bucket_name)
      @bucket_name = bucket_name
    end

    def files
      @files ||= bucket.objects
    end

    def upload(file, key)
      bucket.objects.build(key).tap do |obj|
        obj.acl = :public_read
        obj.content = file
        obj.content_type = MIME::Types.type_for(key).first.content_type
      end.save
    end

    private

    attr_reader :bucket_name

    def bucket
      @bucket ||= service.buckets.find(bucket_name)
    end

    def service
      @service ||= S3::Service.new(
        access_key_id: Frizz.configuration.access_key_id,
        secret_access_key: Frizz.configuration.secret_access_key,
      )
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
frizz-1.5.0 lib/frizz/remote.rb
frizz-1.4.4 lib/frizz/remote.rb
frizz-1.4.3 lib/frizz/remote.rb
frizz-1.3.3 lib/frizz/remote.rb
frizz-1.3.2 lib/frizz/remote.rb
frizz-1.2.2 lib/frizz/remote.rb
frizz-1.2.1 lib/frizz/remote.rb
frizz-1.1.1 lib/frizz/remote.rb
frizz-1.1.0 lib/frizz/remote.rb
frizz-1.0.1 lib/frizz/remote.rb
frizz-1.0.0 lib/frizz/remote.rb
frizz-0.0.4 lib/frizz/remote.rb
frizz-0.0.3 lib/frizz/remote.rb
frizz-0.0.2 lib/frizz/remote.rb
frizz-0.0.1 lib/frizz/remote.rb