Class: Backup::Compressor::Bzip2

Inherits:
Base
  • Object
show all
Defined in:
lib/backup/compressor/bzip2.rb

Constant Summary

Constants included from Backup::CLI::Helpers

Backup::CLI::Helpers::UTILITY

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Backup::Configuration::Helpers

#clear_defaults!, #load_defaults!

Methods included from Backup::CLI::Helpers

#command_name, #raise_if_command_failed!, #run, #utility

Constructor Details

#initialize(&block) ⇒ Bzip2

Creates a new instance of Backup::Compressor::Bzip2 and configures it to either compress faster or better bzip2 compresses by default with -9 (best compression) and lower block sizes don’t make things significantly faster (according to official bzip2 docs)



23
24
25
26
27
28
29
30
# File 'lib/backup/compressor/bzip2.rb', line 23

def initialize(&block)
  super

  @best ||= false
  @fast ||= false

  instance_eval(&block) if block_given?
end

Instance Attribute Details

#bestObject

Tells Backup::Compressor::Bzip2 to compress better (-9) rather than faster when set to true



10
11
12
# File 'lib/backup/compressor/bzip2.rb', line 10

def best
  @best
end

#fastObject

Tells Backup::Compressor::Bzip2 to compress faster (-1) rather than better when set to true



15
16
17
# File 'lib/backup/compressor/bzip2.rb', line 15

def fast
  @fast
end

Instance Method Details

#compress_with {|"#{ utility(:bzip2) }#{ options }", '.bz2'| ... } ⇒ Object

Yields to the block the compressor command with options and it’s filename extension.

Yields:

  • ("#{ utility(:bzip2) }#{ options }", '.bz2')


35
36
37
38
# File 'lib/backup/compressor/bzip2.rb', line 35

def compress_with
  log!
  yield "#{ utility(:bzip2) }#{ options }", '.bz2'
end