require 'OSM/StreamParser' class OSMTestParserCallbacks < OSM::Callbacks @@locations = nil def self.locations if @@locations @@locations else #parse the test file, so we can later reference nodes and ways by name in tests @@locations = {} file = 'test/data/test.osm' callbacks = OSMTestParserCallbacks.new parser = OSM::StreamParser.new(:filename => file, :callbacks => callbacks) parser.parse puts @@locations end end def node(node) @@locations[node.name] = [node.lat,node.lon] end end