Module: RSS::Maker::TrackBackModel

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

Defined Under Namespace

Classes: TrackBackAboutsBase

Class Method Summary collapse

Class Method Details

.append_features(klass) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/rss/maker/trackback.rb', line 8

def self.append_features(klass)
  super

  name = "#{RSS::TRACKBACK_PREFIX}_ping"
  klass.add_need_initialize_variable(name)
  klass.add_other_element(name)
  klass.module_eval(<<-EOC, __FILE__, __LINE__+1)
    attr_accessor :#{name}
    def setup_#{name}(rss, current)
      if #{name} and current.respond_to?(:#{name}=)
        current.#{name} = #{name}
      end
    end
  EOC

  name = "#{RSS::TRACKBACK_PREFIX}_abouts"
  klass.add_need_initialize_variable(name, "make_#{name}")
  klass.add_other_element(name)
  klass.module_eval(<<-EOC, __FILE__, __LINE__+1)
    attr_accessor :#{name}
    def make_#{name}
      self.class::TrackBackAbouts.new(self)
    end

    def setup_#{name}(rss, current)
      @#{name}.to_rss(rss, current)
    end
  EOC
end