Class: MultiCompress::DBDeployment::DeploymentBundle::DeterministicTarWriter
- Inherits:
-
Gem::Package::TarWriter
- Object
- Gem::Package::TarWriter
- MultiCompress::DBDeployment::DeploymentBundle::DeterministicTarWriter
- Defined in:
- lib/multi_compress/db_deployment.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add_file_simple(name, mode, size) {|output| ... } ⇒ Object
-
#initialize(io, epoch) ⇒ DeterministicTarWriter
constructor
A new instance of DeterministicTarWriter.
- #mkdir(name, mode) ⇒ Object
Constructor Details
#initialize(io, epoch) ⇒ DeterministicTarWriter
Returns a new instance of DeterministicTarWriter.
662 663 664 665 |
# File 'lib/multi_compress/db_deployment.rb', line 662 def initialize(io, epoch) @archive_epoch = epoch super(io) end |
Class Method Details
.new(io, epoch) ⇒ Object
648 649 650 651 652 653 654 655 656 657 658 659 660 |
# File 'lib/multi_compress/db_deployment.rb', line 648 def self.new(io, epoch) writer = allocate writer.send(:initialize, io, epoch) return writer unless block_given? begin yield writer ensure writer.close end nil end |
Instance Method Details
#add_file_simple(name, mode, size) {|output| ... } ⇒ Object
667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 |
# File 'lib/multi_compress/db_deployment.rb', line 667 def add_file_simple(name, mode, size) check_closed name, prefix = split_name(name) header = Gem::Package::TarHeader.new( name: name, mode: mode, size: size, prefix: prefix, mtime: @archive_epoch ).to_s @io.write(header) output = BoundedStream.new(@io, size) yield output if block_given? @io.write("\0" * (size - output.written)) @io.write("\0" * ((512 - (size % 512)) % 512)) self end |
#mkdir(name, mode) ⇒ Object
686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 |
# File 'lib/multi_compress/db_deployment.rb', line 686 def mkdir(name, mode) check_closed name, prefix = split_name(name) header = Gem::Package::TarHeader.new( name: name, mode: mode, typeflag: "5", size: 0, prefix: prefix, mtime: @archive_epoch ) @io.write(header) self end |