Class: Hearken::Indexing::PersistedTraverser
- Inherits:
-
Object
- Object
- Hearken::Indexing::PersistedTraverser
- Includes:
- Enumerable
- Defined in:
- lib/hearken/indexing/persisted_traverser.rb
Instance Method Summary collapse
- #append(track) ⇒ Object
- #clear ⇒ Object
- #each ⇒ Object
-
#initialize(path) ⇒ PersistedTraverser
constructor
A new instance of PersistedTraverser.
Constructor Details
#initialize(path) ⇒ PersistedTraverser
Returns a new instance of PersistedTraverser.
6 7 8 |
# File 'lib/hearken/indexing/persisted_traverser.rb', line 6 def initialize path @path = path end |
Instance Method Details
#append(track) ⇒ Object
25 26 27 28 29 |
# File 'lib/hearken/indexing/persisted_traverser.rb', line 25 def append track File.open(@path, 'a') do |file| file.puts track.to_a.join('<->') end end |
#clear ⇒ Object
21 22 23 |
# File 'lib/hearken/indexing/persisted_traverser.rb', line 21 def clear File.open @path, 'w' end |
#each ⇒ Object
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/hearken/indexing/persisted_traverser.rb', line 10 def each File.open @path do |file| while line = file.gets row = line.chomp.split '<->' track = Hearken::Track.new Hearken::Tagged::FIELDS.each {|field| track.send "#{field}=", row.shift } yield track end end if File.exist? @path end |