backup/backup

View on GitHub
lib/backup/compressor/bzip2.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Backup
  module Compressor
    class Bzip2 < Base
      ##
      # Specify the level of compression to use.
      #
      # Values should be a single digit from 1 to 9.
      # Note that setting the level to either extreme may or may not
      # give the desired result. Be sure to check the documentation
      # for the compressor being used.
      #
      # The default `level` is 9.
      attr_accessor :level

      ##
      # Creates a new instance of Backup::Compressor::Bzip2
      def initialize(&block)
        load_defaults!

        @level ||= false

        instance_eval(&block) if block_given?

        @cmd = "#{utility(:bzip2)}#{options}"
        @ext = ".bz2"
      end

      private

      def options
        " -#{@level}" if @level
      end
    end
  end
end