Class: File

Inherits:
Object show all
Defined in:
lib/muflax/file.rb

Overview

Copyright muflax <[email protected]>, 2013 License: GNU GPL 3 <www.gnu.org/copyleft/gpl.html>

Class Method Summary collapse

Class Method Details

.load(name) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/muflax/file.rb', line 27

def self.load name
  name = File.expand_path(name)

  file = case name
         when /\.gz$/
           Zlib::GzipReader.open(name)
         else
           File.open(name)
         end

  file
end

.save(name, as: :text, &blk) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/muflax/file.rb', line 7

def self.save name, as: :text, &blk
  name = File.expand_path(name)

  # make sure directory exists
  dir = File.dirname(name)
  FileUtils.mkdir_p dir if not Dir.exists? dir

  # now open it
  case as
  when :anki
    f = CSV.open(name, "w", :col_sep => "\t", &blk)
  when :text
    f = File.open(name, "w", &blk)
  else
    raise "unsupported file format: #{as}"
  end

  f
end