class PrelandsRails::CreateSimpleSource::Upload

Загрузит на aws скомпилированные html, icon.ico, index.js и содержимое директории images/

Constants

IMAGES

Public Instance Methods

act() click to toggle source
# File lib/prelands_rails/create_simple_source/upload.rb, line 35
def act
  context.bucket_names.each do |bucket_name|
    images_files.map do |file_name, file_path|
      @uploader.upload_file file_name, file_path, bucket_name
    end

    compiled_html_files.map do |file_name, content|
      @uploader.upload_content file_name, content, bucket_name
    end

    @uploader.upload_content 'index.js', context.files_content['index.js'], bucket_name
  end

  del_tmp_files
  context.uploaded_images = images_files
end

Private Instance Methods

del_tmp_files() click to toggle source
# File lib/prelands_rails/create_simple_source/upload.rb, line 76
def del_tmp_files
  @tmp_paths.each do |path|
    File.delete(path) if File.exists?(path)
  end
end
images_files() click to toggle source
# File lib/prelands_rails/create_simple_source/upload.rb, line 58
def images_files
  return @images_files if defined?(@images_files)

  @tmp_paths = []

  @images_files ||= Zip::File.open(context.archive.tempfile) do |zipfile|
    zipfile.map do |entry|
      next if entry.name.index(IMAGES) != 0

      tmp_path = make_tmp_path
      entry.extract tmp_path
      @tmp_paths << tmp_path

      [entry.name, tmp_path]
    end.compact.to_h
  end
end