Class: Oolite::SaveFile

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

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ SaveFile

Returns a new instance of SaveFile.



15
16
17
# File 'lib/oolite/save_file.rb', line 15

def initialize filename
  parse filename
end

Instance Method Details

#cargoObject



32
33
34
35
# File 'lib/oolite/save_file.rb', line 32

def cargo
  node = get_data_node_for_key 'max_cargo'
  node.text.to_i
end

#creditsObject



37
38
39
40
# File 'lib/oolite/save_file.rb', line 37

def credits
  node = get_data_node_for_key 'credits'
  node.text.to_i
end

#current_system_nameObject



27
28
29
30
# File 'lib/oolite/save_file.rb', line 27

def current_system_name
  node = get_data_node_for_key 'current_system_name'
  node.text
end

#local_market_dataObject



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/oolite/save_file.rb', line 42

def local_market_data
  node = get_data_node_for_key 'localMarket'

  mdata = {}

  node.children.each do |child|
    type = child.children[0].text
    amount = child.children[1].text.to_i
    # Price is stored as an integer and displayed as price / 10.
    price = child.children[2].text.to_i
    mdata[type] = { amount: amount, price: price }
  end

  mdata
end

#parse(filename) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/oolite/save_file.rb', line 19

def parse filename
  raise "Cannot find save file #{filename}" unless Pathname(filename).exist?

  @doc = Nokogiri::XML(File.open(filename)) do |config|
    config.noblanks
  end
end