Sha256: c9df13f1b5b2b43a1d783a2e398179a0a85259047cd378a8b5a6753e36b32c30

Contents?: true

Size: 583 Bytes

Versions: 9

Compression:

Stored size: 583 Bytes

Contents

require 'hearken/track'

class Hearken::Indexing::PersistedTraverser
  include Enumerable

  def initialize path
    @path = path
  end

  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

  def clear
    File.open @path, 'w'
  end

  def append track
    File.open(@path, 'a') do |file|
      file.puts track.to_a.join('<->')
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
hearken-0.1.3 lib/hearken/indexing/persisted_traverser.rb
hearken-0.1.2 lib/hearken/indexing/persisted_traverser.rb
hearken-0.1.1 lib/hearken/indexing/persisted_traverser.rb
hearken-0.1.0 lib/hearken/indexing/persisted_traverser.rb
hearken-0.0.6 lib/hearken/indexing/persisted_traverser.rb
hearken-0.0.5 lib/hearken/indexing/persisted_traverser.rb
hearken-0.0.4 lib/hearken/indexing/persisted_traverser.rb
hearken-0.0.3 lib/hearken/indexing/persisted_traverser.rb
hearken-0.0.2 lib/hearken/indexing/persisted_traverser.rb