Class/Module Index [+]

Quicksearch

RSS::BaseDublinCoreModel

Public Instance Methods

append_features(klass) click to toggle source
                
# File rss/dublincore.rb, line 8
def append_features(klass)
  super

  return if klass.instance_of?(Module)
  DublinCoreModel::ELEMENT_NAME_INFOS.each do |name, plural_name|
    plural = plural_name || "#{name}s"
    full_name = "#{DC_PREFIX}_#{name}"
    full_plural_name = "#{DC_PREFIX}_#{plural}"
    klass_name = "DublinCore#{Utils.to_class_name(name)}"
    klass.install_must_call_validator(DC_PREFIX, DC_URI)
    klass.install_have_children_element(name, DC_URI, "*",
                                        full_name, full_plural_name)
    klass.module_eval(          remove_method :#{full_name}          remove_method :#{full_name}=          remove_method :set_#{full_name}          def #{full_name}            @#{full_name}.first and @#{full_name}.first.value          end          def #{full_name}=(new_value)            @#{full_name}[0] = Utils.new_with_value_if_need(#{klass_name}, new_value)          end          alias set_#{full_name} #{full_name}=, *get_file_and_line_from_caller(0))
  end
  klass.module_eval(        if method_defined?(:date)          alias date_without_#{DC_PREFIX}_date= date=          def date=(value)            self.date_without_#{DC_PREFIX}_date = value            self.#{DC_PREFIX}_date = value          end        else          alias date #{DC_PREFIX}_date          alias date= #{DC_PREFIX}_date=        end        # For backward compatibility        alias #{DC_PREFIX}_rightses #{DC_PREFIX}_rights_list, *get_file_and_line_from_caller(0))
end
blog comments powered by Disqus