# frozen_string_literal: true

require 'date'

xml.instruct! :xml, version: '1.0'
xml.rss :version => '2.0', 'xmlns:dc' => 'http://purl.org/dc/elements/1.1/' do
  xml.channel do
    xml.title 'Search results'
    xml.description 'Papers matching search criteria'

    @papers.each do |doc|
      xml.item do
        xml.title doc.name
        unless doc.content.blank?
          xml.description do
            xml.cdata! truncate(doc.content.sub('------------------------------- ', ''), length: 768)
          end
        end
        unless doc.published_at.blank?
          xml.pubDate DateTime.parse(doc.published_at).utc.strftime('%a, %d %b %Y %H:%M:%S %z')
        end
        doc.originator.each do |originator|
          xml.dc :creator do
            xml.cdata! originator
          end
        end
        unless doc.paper_type.blank?
          xml.category do
            xml.cdata! doc.paper_type
          end
        end
        xml.link doc.url
        xml.guid doc.url
      end
    end
  end
end
