class AudioFeedManager::AddAudioFile

Public Instance Methods

run(feed:, files:) click to toggle source
# File lib/audio_feed_manager/cli/add_audio_file.rb, line 13
def run(feed:, files:)
  feed = feed_repository.fetch(feed)

  files.each do |file|
    add_file(feed, file)
  end

  rss_generator.generate(feed)
rescue FeedNotFound => e
  console.die(e)
rescue SystemCallError => e
  console.die(e)
end

Private Instance Methods

add_file(feed, file) click to toggle source
# File lib/audio_feed_manager/cli/add_audio_file.rb, line 29
def add_file(feed, file)
  file_name = Pathname.new(directory.join(file))

  console.info("Adding #{file_name} to #{feed.id}")

  audio_file_adder.call feed, file_name,
    title: ->() { console.ask("No title tag found. Please provide title", default: File.basename(file_name)) },
    author: ->() { console.ask("No artist tag found. Please provide author") }
end