class Bricolage::S3Task::Put

Public Class Methods

new(src, dest) click to toggle source
# File lib/bricolage/s3datasource.rb, line 149
def initialize(src, dest)
  @src = src
  @dest = dest
end

Public Instance Methods

check_arguments() click to toggle source
# File lib/bricolage/s3datasource.rb, line 173
def check_arguments
end
command_line(src, dest) click to toggle source
# File lib/bricolage/s3datasource.rb, line 169
def command_line(src, dest)
  "aws s3 cp #{src} #{ds.url(dest)}"
end
each_src_dest() { |src, dest| ... } click to toggle source
# File lib/bricolage/s3datasource.rb, line 162
def each_src_dest
  source_files.each do |src|
    dest = (@dest.to_s.end_with?('/') ? "#{@dest}/#{File.basename(src)}" : @dest)
    yield src, dest
  end
end
run() click to toggle source
# File lib/bricolage/s3datasource.rb, line 184
def run
  raise JobFailure, "no such file: #{@src}" if source_files.empty?
  each_src_dest do |src, dest|
    ds.logger.info command_line(src, dest)
    ds.object(dest).upload_file(src)
  end
  nil
end
single_source?() click to toggle source
# File lib/bricolage/s3datasource.rb, line 158
def single_source?
  source_files.size == 1 and source_files.first == @src
end
source() click to toggle source
# File lib/bricolage/s3datasource.rb, line 176
def source
  buf = StringIO.new
  each_src_dest do |src, dest|
    buf.puts command_line(src, dest)
  end
  buf.string
end
source_files() click to toggle source
# File lib/bricolage/s3datasource.rb, line 154
def source_files
  @source_files ||= Dir.glob(@src)
end