Sha256: 83d7014fb34d9fa36eed48d8139b8186629de630d6c84e35cd7e10c5edbfb501

Contents?: true

Size: 526 Bytes

Versions: 3

Compression:

Stored size: 526 Bytes

Contents

# frozen_string_literal: true

require 'aws-sdk-s3'

module Lcms
  module Engine
    class S3Service
      def self.create_object(key)
        ::Aws::S3::Resource
          .new(region: ENV.fetch('AWS_REGION'))
          .bucket(ENV.fetch('AWS_S3_BUCKET_NAME'))
          .object(key)
      end

      def self.upload(key, data)
        object = create_object key
        object.put(body: data)
        object.public_url
      end

      def self.url_for(key)
        create_object(key).public_url
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lcms-engine-0.3.1 app/services/lcms/engine/s3_service.rb
lcms-engine-0.3.0 app/services/lcms/engine/s3_service.rb
lcms-engine-0.2.0 app/services/lcms/engine/s3_service.rb