module ByteBoozer2

This module provides compression methods available in ByteBoozer 2.0.

Constants

VERSION

Public Class Methods

log_level=(level) click to toggle source
# File lib/byteboozer2.rb, line 25
def self.log_level=(level)
  logger.level = level
end
logger() click to toggle source
# File lib/byteboozer2.rb, line 18
def self.logger
  @logger ||= Logger.new('byteboozer2.log').tap do |log|
    log.level = Logger::WARN
    log.progname = 'ByteBoozer2'
  end
end

Public Instance Methods

crunch(file_name) click to toggle source
# File lib/byteboozer2.rb, line 10
def crunch(file_name)
  compress(file_name)
end
ecrunch(file_name, address) click to toggle source
# File lib/byteboozer2.rb, line 14
def ecrunch(file_name, address)
  compress(file_name, address: address, executable: true)
end
rcrunch(file_name, address) click to toggle source
# File lib/byteboozer2.rb, line 29
def rcrunch(file_name, address)
  compress(file_name, address: address, relocated: true)
end

Private Instance Methods

compress(file_name, *options) click to toggle source
# File lib/byteboozer2.rb, line 35
def compress(file_name, *options)
  file = ByteBoozer2::File.load(file_name)
  result = ByteBoozer2::Cruncher.crunch(file.data, *options)
  ByteBoozer2::File.save(format('%s.b2', file_name), result)
end