Line | |
---|
1 | require 'rss/content'
|
---|
2 | require 'rss/maker/1.0'
|
---|
3 |
|
---|
4 | module RSS
|
---|
5 | module Maker
|
---|
6 | module ContentModel
|
---|
7 | def self.append_features(klass)
|
---|
8 | super
|
---|
9 |
|
---|
10 | ::RSS::ContentModel::ELEMENTS.each do |element|
|
---|
11 | klass.add_need_initialize_variable(element)
|
---|
12 | klass.add_other_element(element)
|
---|
13 | klass.module_eval(<<-EOC, __FILE__, __LINE__+1)
|
---|
14 | attr_accessor :#{element}
|
---|
15 | def setup_#{element}(rss, current)
|
---|
16 | if #{element} and current.respond_to?(:#{element}=)
|
---|
17 | current.#{element} = @#{element} if @#{element}
|
---|
18 | end
|
---|
19 | end
|
---|
20 | EOC
|
---|
21 | end
|
---|
22 | end
|
---|
23 | end
|
---|
24 |
|
---|
25 | class ItemsBase
|
---|
26 | class ItemBase; include ContentModel; end
|
---|
27 | end
|
---|
28 | end
|
---|
29 | end
|
---|
Note:
See
TracBrowser
for help on using the repository browser.