class ResourcePacker

Public Class Methods

new() click to toggle source
# File lib/resource_packer.rb, line 5
def initialize
  @out = ""
end

Public Instance Methods

add_dir(home_dir) click to toggle source
# File lib/resource_packer.rb, line 30
def add_dir home_dir
  Dir.foreach( home_dir ) do |dir|
    next if dir == "." || dir == ".."  
    add_file "#{home_dir}/#{dir}"
  end
end
add_file(filename) click to toggle source
# File lib/resource_packer.rb, line 9
def add_file filename
  mime_type = MIME::Types.type_for(filename)
  name = filename.split("/").last
  @out += encode [mime_type.last.to_s.length].pack("N")
  @out += encode [mime_type.last].pack("A*")
  @out += encode [name.length].pack("N")
  @out += encode [name].pack("A*")
  @out += encode [File.size(filename)].pack("N")
  @out += encode File.read(filename)
end
add_files(files) click to toggle source
# File lib/resource_packer.rb, line 24
def add_files files
  files.each do filename
  add_file filename 
  end
end
encode(data) click to toggle source
# File lib/resource_packer.rb, line 20
def encode data
  data.force_encoding("ASCII-8BIT")
end
pack() click to toggle source
# File lib/resource_packer.rb, line 37
def pack
  @out
end