Class: VMX

Inherits:
Object
  • Object
show all
Defined in:
lib/vmx.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ VMX

Returns a new instance of VMX.



6
7
8
9
10
11
12
13
14
# File 'lib/vmx.rb', line 6

def initialize(filename)
  @filename = filename
  @data = {}

  File.open(filename).each_line do |line|
    key, value = line.split('=', 2)
    @data[key.strip] = eval(value)
  end
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



4
5
6
# File 'lib/vmx.rb', line 4

def data
  @data
end

Instance Method Details

#save(filename = @filename) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/vmx.rb', line 16

def save(filename=@filename)
  FileUtils.cp(filename, filename + '.bak')
  File.open(filename, 'w') do |f|
    @data.sort_by { |(k,v)| k }.each do |(k,v)|
      f.puts "#{k} = #{v.to_s.inspect}"
    end
  end
end