Class: Hearken::Indexing::PersistantTraverser

Inherits:
Object
  • Object
show all
Defined in:
lib/hearken/indexing/persistant_traverser.rb

Instance Method Summary collapse

Constructor Details

#initialize(audio_path, store_path) ⇒ PersistantTraverser

Returns a new instance of PersistantTraverser.



6
7
8
# File 'lib/hearken/indexing/persistant_traverser.rb', line 6

def initialize audio_path, store_path
  @audio_path, @store_path = audio_path, store_path
end

Instance Method Details

#eachObject



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/hearken/indexing/persistant_traverser.rb', line 10

def each
  with_existing_entries do |existing_entries, persisted|
    Hearken::Indexing::AudioTraverser.new(@audio_path).each do |path|
      existing = existing_entries[path.to_s]
      existing = nil if existing and existing.timestamp != path.timestamp
      existing = nil if existing and existing.no_tag_fields?
      track = existing || Hearken::Indexing::Parser.parse(path)
      persisted.append track
      yield track
    end
  end
end