Sha256: 4553c19bba69cf58064ae5270cf816592020c5163df6db233618ef7bdff6932e

Contents?: true

Size: 1.95 KB

Versions: 5

Compression:

Stored size: 1.95 KB

Contents

include Capistrano::DSL

module Dkdeploy
  module Helpers
    # Helpers for Assets Tasks
    module Assets
      def assets_upload(name, folder = File.join('temp', 'assets')) # rubocop:disable Metrics/AbcSize
        FileUtils.mkdir_p folder
        on release_roles :web do
          targz = name + '.tar.gz'
          info I18n.t('tasks.assets.upload', file: targz, scope: :dkdeploy)
          execute :mkdir, '-p', assets_path
          upload! File.join(folder, targz), assets_path
          within assets_path do
            info I18n.t('tasks.assets.upload_extract', file: targz, scope: :dkdeploy)
            execute :tar, 'xzfp', targz
            execute :rm, '-f', targz
          end
          invoke 'file_access:set_custom_access'
        end
      end

      def assets_download(folder) # rubocop:disable Metrics/AbcSize
        FileUtils.mkdir_p File.join('temp', 'assets')
        assets_exclude_file = fetch(:asset_exclude_file) || ''
        on release_roles :web do
          if File.exist?(assets_exclude_file)
            exclude_filename = File.basename(assets_exclude_file)
            execute :rm, '-f', File.join(assets_path, exclude_filename)
            upload! assets_exclude_file, assets_path
            exclude_option = "-X #{File.join(assets_path, exclude_filename)}"
          else
            info I18n.t('tasks.assets.exclude_file_not_found', scope: :dkdeploy)
          end
          within assets_path do
            if test "[ -d #{assets_path}/#{folder} ]"
              info I18n.t('tasks.assets.download', folder: folder, scope: :dkdeploy)
              execute :tar, 'czfp', "#{folder}.tar.gz", exclude_option || '', folder
              download! File.join(assets_path, "#{folder}.tar.gz"), File.join('temp', 'assets')
              execute :rm, '-f', "#{folder}.tar.gz"
            else
              info I18n.t('tasks.assets.folder_not_found', folder: folder, scope: :dkdeploy)
            end
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
dkdeploy-core-9.1.1 lib/dkdeploy/helpers/assets.rb
dkdeploy-core-9.0.1 lib/dkdeploy/helpers/assets.rb
dkdeploy-core-9.2.1 lib/dkdeploy/helpers/assets.rb
dkdeploy-core-9.1.0 lib/dkdeploy/helpers/assets.rb
dkdeploy-core-9.0.0 lib/dkdeploy/helpers/assets.rb