module Webpacker::ManifestS3::S3Client

Public Class Methods

get_manifest() click to toggle source
# File lib/webpacker/manifest_s3/s3_client.rb, line 7
def get_manifest
  logger.info 'Fetching webpacker manifest ...'
  s3_client.get_object(bucket: Webpacker::Configuration.manifest_s3_bucket, key: Webpacker::Configuration.manifest_s3_key)
end
put_manifest() click to toggle source
# File lib/webpacker/manifest_s3/s3_client.rb, line 12
def put_manifest
  logger.info 'Uploading webpacker manifest file ...'

  s3_client.put_object(
    bucket: Webpacker::Configuration.manifest_s3_bucket,
    key: Webpacker::Configuration.manifest_s3_key,
    body: File.new(Webpacker::Configuration.upload_manifest_path),
  )

  logger.info 'Done.'
end

Private Class Methods

access_key_id() click to toggle source
# File lib/webpacker/manifest_s3/s3_client.rb, line 49
def access_key_id
  Webpacker::Configuration.aws_access_key_id || ENV['AWS_ACCESS_KEY_ID']
end
client_options() click to toggle source
# File lib/webpacker/manifest_s3/s3_client.rb, line 34
def client_options
  hash = {}
  hash[:credentials] = credentials
  hash[:region] = region if region
  hash
end
credentials() click to toggle source
# File lib/webpacker/manifest_s3/s3_client.rb, line 41
def credentials
  if access_key_id && secret_access_key
    Aws::Credentials.new(access_key_id, secret_access_key)
  else
    Aws::InstanceProfileCredentials.new
  end
end
logger() click to toggle source
# File lib/webpacker/manifest_s3/s3_client.rb, line 26
def logger
  @logger ||= Logger.new($stdout, level: Logger::INFO)
end
region() click to toggle source
# File lib/webpacker/manifest_s3/s3_client.rb, line 57
def region
  Webpacker::Configuration.aws_region || ENV['AWS_REGION']
end
s3_client() click to toggle source
# File lib/webpacker/manifest_s3/s3_client.rb, line 30
def s3_client
  @s3_client ||= Aws::S3::Client.new(client_options)
end
secret_access_key() click to toggle source
# File lib/webpacker/manifest_s3/s3_client.rb, line 53
def secret_access_key
  Webpacker::Configuration.aws_secret_access_key || ENV['AWS_SECRET_ACCESS_KEY']
end