Module RSS::BaseDublinCoreModel
In: lib/rss/dublincore.rb

Methods

Public Instance methods

[Source]

    # File lib/rss/dublincore.rb, line 8
 8:     def append_features(klass)
 9:       super
10: 
11:       return if klass.instance_of?(Module)
12:       DublinCoreModel::ELEMENT_NAME_INFOS.each do |name, plural_name|
13:         plural = plural_name || "#{name}s"
14:         full_name = "#{DC_PREFIX}_#{name}"
15:         full_plural_name = "#{DC_PREFIX}_#{plural}"
16:         klass_name = "DublinCore#{Utils.to_class_name(name)}"
17:         klass.install_must_call_validator(DC_PREFIX, DC_URI)
18:         klass.install_have_children_element(name, DC_URI, "*",
19:                                             full_name, full_plural_name)
20:         klass.module_eval("remove_method :\#{full_name}\nremove_method :\#{full_name}=\nremove_method :set_\#{full_name}\n\ndef \#{full_name}\n@\#{full_name}.first and @\#{full_name}.first.value\nend\n\ndef \#{full_name}=(new_value)\n@\#{full_name}[0] = Utils.new_with_value_if_need(\#{klass_name}, new_value)\nend\nalias set_\#{full_name} \#{full_name}=\n", *get_file_and_line_from_caller(0))
21:       end
22:       klass.module_eval("if method_defined?(:date)\nalias date_without_\#{DC_PREFIX}_date= date=\n\ndef date=(value)\nself.date_without_\#{DC_PREFIX}_date = value\nself.\#{DC_PREFIX}_date = value\nend\nelse\nalias date \#{DC_PREFIX}_date\nalias date= \#{DC_PREFIX}_date=\nend\n\n# For backward compatibility\nalias \#{DC_PREFIX}_rightses \#{DC_PREFIX}_rights_list\n", *get_file_and_line_from_caller(0))
23:     end

[Validate]