class AudioFeedManager::FeedItemsRepository

Public Instance Methods

add(feed, audio_file) click to toggle source
# File lib/audio_feed_manager/feed_items_repository.rb, line 5
def add(feed, audio_file)
  prepend_to_file(items_file(feed), audio_file.id)
end
list(feed) click to toggle source
# File lib/audio_feed_manager/feed_items_repository.rb, line 9
def list(feed)
  file = items_file(feed)
  return [] unless File.exist?(file)
  ids = File.read(file).lines.map(&:chomp)
  ids.map{|id| audio_file_repository.fetch(id)}
end

Private Instance Methods

items_file(feed) click to toggle source
# File lib/audio_feed_manager/feed_items_repository.rb, line 18
def items_file(feed)
  items_directory.join(feed.bare_id)
end
prepend_to_file(file_name, id) click to toggle source
# File lib/audio_feed_manager/feed_items_repository.rb, line 22
def prepend_to_file(file_name, id)
  contents = File.exist?(file_name) ? File.read(file_name) : ""
  File.open(file_name, "w") do |f|
    f.puts id
    f.print contents
  end
end