Module RSS::TrackBackModel20
In: rss/trackback.rb

Methods

Included Modules

BaseTrackBackModel

Classes and Modules

Class RSS::TrackBackModel20::About
Class RSS::TrackBackModel20::Ping

Public Class methods

[Source]

# File rss/trackback.rb, line 150
    def self.append_features(klass)
      super

      unless klass.class == Module
        %w(ping).each do |x|
          var_name = "#{TRACKBACK_PREFIX}_#{x}"
          klass.install_have_child_element(var_name)
          klass.module_eval("alias _\#{var_name} \#{var_name}\ndef \#{var_name}\n@\#{var_name} and @\#{var_name}.content\nend\n\nalias _\#{var_name}= \#{var_name}=\ndef \#{var_name}=(content)\n@\#{var_name} = new_with_content_if_need(\#{x.capitalize}, content)\nend\n")
        end
        
        [%w(about s)].each do |x, postfix|
          var_name = "#{TRACKBACK_PREFIX}_#{x}"
          klass.install_have_children_element(var_name)
          klass.module_eval("alias _\#{var_name}\#{postfix} \#{var_name}\#{postfix}\ndef \#{var_name}\#{postfix}\n@\#{var_name}.collect {|x| x.content}\nend\n\nalias _\#{var_name} \#{var_name}\ndef \#{var_name}(*args)\nif args.empty?\n@\#{var_name}.first and @\#{var_name}.first.content\nelse\nret = @\#{var_name}.send(\"[]\", *args)\nif ret.is_a?(Array)\nret.collect {|x| x.content}\nelse\nret.content\nend\nend\nend\n\nalias _\#{var_name}= \#{var_name}=\nalias _set_\#{var_name} set_\#{var_name}\ndef \#{var_name}=(*args)\nif args.size == 1\nitem = new_with_content_if_need(\#{x.capitalize}, args[0])\n@\#{var_name}.push(item)\nelse\nnew_val = args.last\nif new_val.is_a?(Array)\nnew_val = new_value.collect do |val|\nnew_with_content_if_need(\#{x.capitalize}, val)\nend\nelse\nnew_val = new_with_content_if_need(\#{x.capitalize}, new_val)\nend\n@\#{var_name}.send(\"[]=\", *(args[0..-2] + [new_val]))\nend\nend\nalias set_\#{var_name} \#{var_name}=\n")
        end
      end
    end

[Validate]