Module: RSS::Maker::ContentModel

Included in:
ItemsBase::ItemBase
Defined in:
lib/rss/maker/content.rb

Class Method Summary collapse

Class Method Details

.append_features(klass) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/rss/maker/content.rb', line 7

def self.append_features(klass)
  super

  ::RSS::ContentModel::ELEMENTS.each do |element|
    klass.add_need_initialize_variable(element)
    klass.add_other_element(element)
    klass.module_eval(<<-EOC, __FILE__, __LINE__+1)
      attr_accessor :#{element}
      def setup_#{element}(rss, current)
        if #{element} and current.respond_to?(:#{element}=)
          current.#{element} = @#{element} if @#{element}
        end
      end
    EOC
  end
end