I have my system class
class System
@os
@base
@number
def setOs(newos)
@os = newos
end
def getOs()
return @os
end
def setBase(newbase)
@base = newbase
end
def getBase()
return @base
end
def setSystemNumber(newnumber)
@number = newnumber
end
def getSystemNumber()
return @number
end
end
and I have my method to add multiple instances of system to an array
def readXMLSystems
doc = Nokogiri::XML(File.open("/Users/lewisardern/Documents/Security-Simulator/lib/xml/boxesconfig.xml"))
# puts doc
systeminstance = ""
systemArray = []
doc.search('//systems/system').each do |system|
systeminstance = System. new
number = system.at('@number').text
systeminstance.setSystemNumber number
os = system.at('@os').text
systeminstance.setOs os
base = system.at('@basebox').text
systeminstance.setBase base
systemArray.insert(systeminstance)
end
return systemArray
end
and i call that method by
sys = readXMLSystems
puts sys
how come i can't read the XML code? if i write inside the loop it spits out
puts systeminstance.getSystemNumber #retrieves input
1
2
3
I want to be able to have multiple systems inside this array but it doesn't seem to be returning... where am i going wrong?