Module RSS::Maker::DublinCoreModel
In: lib/rss/maker/dublincore.rb

Methods

Public Class methods

[Source]

    # File lib/rss/maker/dublincore.rb, line 7
 7:       def self.append_features(klass)
 8:         super
 9: 
10:         ::RSS::DublinCoreModel::ELEMENT_NAME_INFOS.each do |name, plural_name|
11:           plural_name ||= "#{name}s"
12:           full_name = "#{RSS::DC_PREFIX}_#{name}"
13:           full_plural_name = "#{RSS::DC_PREFIX}_#{plural_name}"
14:           klass_name = Utils.to_class_name(name)
15:           plural_klass_name = "DublinCore#{Utils.to_class_name(plural_name)}"
16:           full_plural_klass_name = "self.class::#{plural_klass_name}"
17:           full_klass_name = "#{full_plural_klass_name}::#{klass_name}"
18:           klass.add_need_initialize_variable(full_plural_name,
19:                                              "make_#{full_plural_name}")
20:           klass.add_other_element(full_plural_name)
21:           klass.module_eval("attr_accessor :\#{full_plural_name}\ndef make_\#{full_plural_name}\n\#{full_plural_klass_name}.new(@maker)\nend\n\ndef setup_\#{full_plural_name}(rss, current)\n@\#{full_plural_name}.to_rss(rss, current)\nend\n\ndef \#{full_name}\n@\#{full_plural_name}[0] and @\#{full_plural_name}[0].value\nend\n\ndef \#{full_name}=(new_value)\n@\#{full_plural_name}[0] = \#{full_klass_name}.new(self)\n@\#{full_plural_name}[0].value = new_value\nend\n", __FILE__, __LINE__+1)
22:         end
23:       end

[Source]

    # File lib/rss/maker/dublincore.rb, line 87
87:       def self.install_dublin_core(klass)
88:         ::RSS::DublinCoreModel::ELEMENT_NAME_INFOS.each do |name, plural_name|
89:           plural_name ||= "#{name}s"
90:           klass_name = Utils.to_class_name(name)
91:           plural_klass_name = "DublinCore#{Utils.to_class_name(plural_name)}"
92:           full_klass_name = "DublinCore#{klass_name}"
93:           klass.module_eval("class \#{plural_klass_name} < \#{plural_klass_name}Base\nclass \#{klass_name} < \#{klass_name}Base\ndef to_rss(rss, current)\nif value and current.respond_to?(:dc_\#{name})\nnew_item = current.class::\#{full_klass_name}.new(value)\ncurrent.dc_\#{plural_name} << new_item\nend\nend\nend\nend\n", *Utils.get_file_and_line_from_caller(1))
94:         end
95:       end

[Validate]