append_features(klass) public

No documentation

This method has no description. You can help the Ruby community by adding new notes.

Hide source
# File lib/rss/dublincore.rb, line 11
    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
Register or log in to add new notes.