Module: Starter::Misc

Defined in:
lib/starter/misc.rb

Instance Method Summary collapse

Instance Method Details

#marshalize(filename, &block) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/starter/misc.rb', line 5

def marshalize(filename, &block)
  if File.exist?(filename)
    File.open(filename) { |f| Marshal.load(f) }
  elsif File.exist?(filename + ".gz")
    system "gunzip #{filename}.gz"
    File.open(filename) { |f| Marshal.load(f) }
  else
    val = yield
    File.open(filename, "w") do |f|
      Marshal.dump(val, f)
    end
    val
  end
end