Method: FastRI::RiIndex#load

Defined in:
lib/fastri/ri_index.rb

#load(anIO) ⇒ Object

Load the index from the given IO. It must contain a textual representation generated by #dump.



259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
# File 'lib/fastri/ri_index.rb', line 259

def load(anIO)
  header = anIO.gets    
  raise "Invalid format." unless header.chomp == MAGIC
  anIO.gets  # discard "Sources:"
  paths     = []
  gem_names = []
  until (line = anIO.gets).index("=" * 80) == 0
    gemname, path = line.strip.split(/\s+/)
    paths     << path
    gem_names << gemname
  end
  anIO.gets # discard "Namespaces:"
  namespace_array = []
  until (line = anIO.gets).index("=" * 80) == 0
    namespace_array << line
  end
  anIO.gets # discard "Methods:"
  method_array = []
  until (line = anIO.gets).index("=" * 80) == 0
    method_array << line
  end
  @paths           = paths
  @gem_names       = gem_names
  @namespace_array = namespace_array
  @method_array    = method_array
end