Sha256: 96c016ab5acfa4f5ea7205006b5b87be3dd859d580afc7b346bbdd1a95db6cce

Contents?: true

Size: 979 Bytes

Versions: 1

Compression:

Stored size: 979 Bytes

Contents

# frozen_string_literal: true

require 'carrierwave'
require 'carrierwave-aws'

module CarrierWave
  class Config
    class << self
      def aws_credentials
        @aws_credentials ||= {
          access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
          secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
          region: ENV.fetch('AWS_REGION')
        }
      end

      def configure_carrierwave!
        # CarrierWave configurations
        #
        CarrierWave::SanitizedFile.sanitize_regexp = /(^\.+|[^[:word:]\.\-\+])/
        CarrierWave.configure do |config|
          if ENV['AWS_ENABLE'] == '1'
            config.aws_bucket = ENV.fetch('AWS_BUCKET_NAME')
            config.aws_acl    = :private
            config.aws_authenticated_url_expiration = 60 * 60 * 24 * 7

            config.aws_credentials = aws_credentials
            config.storage = :aws
          else
            config.storage = :file
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
translation_cms-0.1.5 lib/carrierwave/config.rb