Class: DTR::SyncCodebase::CopiablePackage

Inherits:
Object
  • Object
show all
Includes:
DRbUndumped, Package
Defined in:
lib/dtr/shared/sync_codebase/copiable_package.rb

Constant Summary collapse

CHUNK_SIZE =
1024*1024

Instance Method Summary collapse

Methods included from Package

#do_work, #package_cmd, #package_copy_file, #package_dir, #package_dir_path, #package_file, #package_name, #unpackage_cmd

Constructor Details

#initializeCopiablePackage

Returns a new instance of CopiablePackage.



23
24
25
# File 'lib/dtr/shared/sync_codebase/copiable_package.rb', line 23

def initialize
  raise "Package(#{codebase_package}) doesn't exist!" unless File.exist?(codebase_package)
end

Instance Method Details

#codebase_packageObject



35
36
37
# File 'lib/dtr/shared/sync_codebase/copiable_package.rb', line 35

def codebase_package
  File.join(package_dir, package_file)
end

#copy_into(remote_io) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/dtr/shared/sync_codebase/copiable_package.rb', line 27

def copy_into(remote_io)
  File.open(codebase_package, "rb") do |f|
    while (chunk = f.read(CHUNK_SIZE) || '') && chunk.length > 0
      remote_io.write(chunk)
    end
  end
end