class AudioFeedManager::RSSRepository

Public Instance Methods

store(feed, audio_files = []) click to toggle source
# File lib/audio_feed_manager/rss_repository.rb, line 7
def store(feed, audio_files = [])
  xml = render(feed, audio_files)
  File.write(rss_files_directory.join("#{feed.secret_token}.xml"), xml)
end

Private Instance Methods

render(feed, audio_files) click to toggle source
# File lib/audio_feed_manager/rss_repository.rb, line 14
def render(feed, audio_files)
  RSS::Maker.make("2.0") do |m|
    m.channel.title = feed.title
    m.channel.description = feed.description
    m.channel.link = url_maker.feed_url(feed)

    audio_files.each_with_index do |file, idx|
      m.items.new_item do |item|
        link = url_maker.audio_file_url(file)
        item.link = link
        item.title = file.title
        item.author = file.author
        item.itunes_author = file.author
        item.updated = (Date.today - idx).to_s
        item.enclosure.url = link
        item.enclosure.type = file.content_type
        item.enclosure.length = file.size
      end
    end
  end
end