Sha256: 95f83881166e87f8e98e0a4f86f8fe4c5d2dcf1ca861bcab85c469289c1c70c4

Contents?: true

Size: 985 Bytes

Versions: 13

Compression:

Stored size: 985 Bytes

Contents

module Writefully
  module Storage
    class << self 
      def directory
        @directory ||= connection.directories.get(Writefully.options[:storage_folder])
      end

      def store_file(path, body)
        directory.files.create({
          key: path,
          body: body,
          public: true
        })
      end

      def remove_file(key)
        directory.files.get(key).destroy
      end

      def endpoint
        Writefully.options[:assets_host] || provider_endpoints[Writefully.options[:storage_provider].downcase.to_sym]
      end

      def provider_endpoints
        { aws: "https://#{Writefully.options[:storage_folder]}.s3.amazonaws.com"}
      end

      def connection
        @connection ||= Fog::Storage.new({
          provider:              Writefully.options[:storage_provider],
          aws_access_key_id:     Writefully.options[:storage_key],
          aws_secret_access_key: Writefully.options[:storage_secret]
        })
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
writefully-0.8.1 lib/writefully/storage.rb
writefully-0.8.0 lib/writefully/storage.rb
writefully-0.7.1 lib/writefully/storage.rb
writefully-0.6.12 lib/writefully/storage.rb
writefully-0.6.11 lib/writefully/storage.rb
writefully-0.6.10 lib/writefully/storage.rb
writefully-0.6.9 lib/writefully/storage.rb
writefully-0.6.7 lib/writefully/storage.rb
writefully-0.6.6 lib/writefully/storage.rb
writefully-0.6.5 lib/writefully/storage.rb
writefully-0.6.4 lib/writefully/storage.rb
writefully-0.6.3 lib/writefully/storage.rb
writefully-0.6.2 lib/writefully/storage.rb