lib/binarysearch/data_source.rb in binarysearch-0.0.1 vs lib/binarysearch/data_source.rb in binarysearch-0.0.2
- old
+ new
@@ -1,23 +1,30 @@
-
module BinarySearch
+ # Used when indexing. You can create subclass to give the indexer the data
+ # it needs.
class DataSource
+ # Returns the next record. The method in this class is abstract (or it
+ # tries to) It raises an exception telling you to implement it.
def next
raise 'you must implement this method!'
end
end
+ # A DataSource which reads from a text file.
class FileDataSource < DataSource
+ # Creates a new FileDataSource using the value of fname as the file name.
def initialize(fname)
@file = File.open(fname, 'r')
end
+ # Closes the file.
def close
@file.close
@file = nil
end
+ # Reads the next line.
def next
@file.gets
end
end