diff --git a/doc/site/src/options.page b/doc/site/src/options.page index 02b3e2d..c53c12c 100644 --- a/doc/site/src/options.page +++ b/doc/site/src/options.page @@ -38,6 +38,8 @@ publisher: on_event: rss: file: + channel_link: + keep: on_event: campfire: url: diff --git a/lib/cerberus/config.example.yml b/lib/cerberus/config.example.yml index e0fa813..5ac9f7c 100644 --- a/lib/cerberus/config.example.yml +++ b/lib/cerberus/config.example.yml @@ -23,6 +23,8 @@ publisher: # url: http://someemail:password@cerberustool.campfirenow.com/room/51660 # rss: # file: /usr/www/rss.xml +# channel_link: http://example.com/rss.xml +# keep: 1 # extra_subject: "#deployment #tags" #builder: # rake: diff --git a/lib/cerberus/publisher/rss.rb b/lib/cerberus/publisher/rss.rb index 1cccb23..5de8655 100644 --- a/lib/cerberus/publisher/rss.rb +++ b/lib/cerberus/publisher/rss.rb @@ -1,29 +1,41 @@ require 'cerberus/publisher/base' require 'time' require 'builder' +require 'rss' class Cerberus::Publisher::RSS < Cerberus::Publisher::Base def self.publish(state, manager, options) config = options[:publisher, :rss] subject,body = Cerberus::Publisher::Base.formatted_message(state, manager, options) - pub_date = Time.now.iso8601 - description = "
#{body}".to_xs - result = <<-END -
#{body}" + + feed.items.unshift new_item + + IO.write(config[:file], feed) end end