Sha256: 4f033eb2c04a535a002d562d8e0016f7f1e04327b43bc67b8639bb5eb858ea73

Contents?: true

Size: 1.12 KB

Versions: 67

Compression:

Stored size: 1.12 KB

Contents

# frozen_string_literal: true

require 'avm/data/package/base_performer'
require 'avm/data/package/build_directory'
require 'eac_ruby_utils/core_ext'
require 'minitar'

module Avm
  module Data
    class Package
      class Dump < ::Avm::Data::Package::BasePerformer
        enable_method_class
        include ::Avm::Data::Package::BuildDirectory

        attr_reader :target_path

        def initialize(package, target_path, options = {})
          super(package, options)
          @target_path = target_path.to_pathname
        end

        # @return [void]
        def result
          on_build_directory do
            dump_units_to_build_directory
            create_package_file
          end
        end

        protected

        def dump_units_to_build_directory
          package.dump_units_to_directory(build_directory, selected_units)
        end

        def create_package_file
          infom "Creating package \"#{target_path}\" from \"#{build_directory}\"..."
          ::Dir.chdir(build_directory.to_path) do
            ::Minitar.pack('.', ::File.open(target_path, 'wb'))
          end
        end
      end
    end
  end
end

Version data entries

67 entries across 67 versions & 2 rubygems

Version Path
avm-0.94.1 lib/avm/data/package/dump.rb
eac_tools-0.98.0 sub/avm/lib/avm/data/package/dump.rb
avm-0.94.0 lib/avm/data/package/dump.rb
eac_tools-0.94.0 sub/avm/lib/avm/data/package/dump.rb
avm-0.93.0 lib/avm/data/package/dump.rb
eac_tools-0.92.0 sub/avm/lib/avm/data/package/dump.rb
avm-0.92.0 lib/avm/data/package/dump.rb
eac_tools-0.91.0 sub/avm/lib/avm/data/package/dump.rb
avm-0.90.1 lib/avm/data/package/dump.rb
eac_tools-0.87.1 sub/avm/lib/avm/data/package/dump.rb
avm-0.90.0 lib/avm/data/package/dump.rb
eac_tools-0.87.0 sub/avm/lib/avm/data/package/dump.rb
avm-0.89.0 lib/avm/data/package/dump.rb
eac_tools-0.86.12 sub/avm/lib/avm/data/package/dump.rb
avm-0.88.0 lib/avm/data/package/dump.rb
eac_tools-0.86.11 sub/avm/lib/avm/data/package/dump.rb
avm-0.87.0 lib/avm/data/package/dump.rb
eac_tools-0.86.8 sub/avm/lib/avm/data/package/dump.rb
avm-0.86.2 lib/avm/data/package/dump.rb
eac_tools-0.86.7 sub/avm/lib/avm/data/package/dump.rb