diff options
Diffstat (limited to 'lib/rss/maker/syndication.rb')
-rw-r--r-- | lib/rss/maker/syndication.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/rss/maker/syndication.rb b/lib/rss/maker/syndication.rb new file mode 100644 index 0000000000..72d00c63ea --- /dev/null +++ b/lib/rss/maker/syndication.rb @@ -0,0 +1,27 @@ +require 'rss/syndication' +require 'rss/maker/1.0' + +module RSS + module Maker + module SyndicationModel + def self.append_features(klass) + super + + ::RSS::SyndicationModel::ELEMENTS.each do |element| + klass.add_need_initialize_variable(element) + klass.add_other_element(element) + klass.__send__(:attr_accessor, element) + klass.module_eval(<<-EOC, __FILE__, __LINE__) + def setup_#{element}(rss, current) + if #{element} and current.respond_to?(:#{element}=) + current.#{element} = @#{element} if @#{element} + end + end + EOC + end + end + end + + class ChannelBase; include SyndicationModel; end + end +end |