Module: MacBinary
- Defined in:
- lib/macbinary_unpack.rb,
lib/unpack_macbinary.rb,
lib/unpack_macbinary/version.rb
Defined Under Namespace
Classes: MacunpackException
Constant Summary
collapse
- VERSION =
"0.1.0"
Class Method Summary
collapse
Class Method Details
.add_resource_fork(data_fork, resource_fork) ⇒ Object
32
33
34
|
# File 'lib/macbinary_unpack.rb', line 32
def self.add_resource_fork data_fork, resource_fork
FileUtils.cp resource_fork, "#{data_fork}/..namedfork/rsrc"
end
|
.unpack(macbinary, target_dir = Dir.pwd) ⇒ Object
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/macbinary_unpack.rb', line 8
def self.unpack macbinary, target_dir=Dir.pwd
cd target_dir do
sanitized = File.basename(macbinary.gsub(" ", "_"), ".bin")
if !system "macunpack", "-3", macbinary
raise MacunpackException, "macunpack returned non-zero exit status"
end
output_files = {
data: "#{target_dir}/#{sanitized}.data",
info: "#{target_dir}/#{sanitized}.info",
rsrc: "#{target_dir}/#{sanitized}.rsrc"
}
raise MacunpackException, "macunpack did not generate a data fork" unless File.exist? output_files[:data]
raise MacunpackException, "macunpack did not generate a data fork" unless File.exist? output_files[:rsrc]
return output_files
end
end
|