class S3AssetDeploy::RemoteAssetCollector
Attributes
bucket_name[R]
Public Class Methods
new(bucket_name, s3_client_options: {}, remove_fingerprint: nil)
click to toggle source
# File lib/s3_asset_deploy/remote_asset_collector.rb, line 10 def initialize(bucket_name, s3_client_options: {}, remove_fingerprint: nil) @bucket_name = bucket_name @remove_fingerprint = remove_fingerprint @s3_client_options = { region: "us-east-1", logger: @logger }.merge(s3_client_options) end
Public Instance Methods
asset_paths()
click to toggle source
# File lib/s3_asset_deploy/remote_asset_collector.rb, line 40 def asset_paths assets.map(&:path) end
assets()
click to toggle source
# File lib/s3_asset_deploy/remote_asset_collector.rb, line 23 def assets @assets ||= s3.list_objects_v2(bucket: bucket_name).each_with_object([]) do |response, array| remote_assets = response .contents .reject { |obj| obj.key == S3AssetDeploy::RemovalManifest::PATH } .map do |obj| S3AssetDeploy::RemoteAsset.new(obj, remove_fingerprint: @remove_fingerprint) end array.concat(remote_assets) end end
clear_cache()
click to toggle source
# File lib/s3_asset_deploy/remote_asset_collector.rb, line 36 def clear_cache @assets = nil end
grouped_assets()
click to toggle source
# File lib/s3_asset_deploy/remote_asset_collector.rb, line 44 def grouped_assets assets.group_by(&:original_path) end
inspect()
click to toggle source
# File lib/s3_asset_deploy/remote_asset_collector.rb, line 52 def inspect to_s end
s3()
click to toggle source
# File lib/s3_asset_deploy/remote_asset_collector.rb, line 19 def s3 @s3 ||= Aws::S3::Client.new(@s3_client_options) end
to_s()
click to toggle source
# File lib/s3_asset_deploy/remote_asset_collector.rb, line 48 def to_s "#<#{self.class.name}:#{"0x0000%x" % (object_id << 1)} @bucket_name='#{bucket_name}'>" end