Module: RSS::Maker::DublinCoreModel
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
| Included In: Atom::Entry::Channel,Atom::Entry::Image,Atom::Entry::Textinput,Atom::Feed::Channel,Atom::Feed::Image,Atom::Feed::Textinput,ChannelBase,ImageBase,ImageFaviconModel::ImageFaviconBase,ImageItemModel::ImageItemBase,ItemsBase::ItemBase,RSS091::Channel,RSS091::Image,RSS091::Textinput,RSS092::Channel,RSS092::Image,RSS092::Textinput,RSS09::Channel,RSS09::Image,RSS09::Textinput,RSS10::Channel,RSS10::Image,RSS10::Textinput,RSS20::Channel,RSS20::Image,RSS20::Textinput,TextinputBase | |
| Defined in: | lib/rss/maker/dublincore.rb | 
Class Method Summary
Class Method Details
.append_features(klass)
[ GitHub ]# File 'lib/rss/maker/dublincore.rb', line 8
def self.append_features(klass) super ::RSS::DublinCoreModel::ELEMENT_NAME_INFOS.each do |name, plural_name| plural_name ||= "#{name}s" full_name = "#{RSS::DC_PREFIX}_#{name}" full_plural_name = "#{RSS::DC_PREFIX}_#{plural_name}" plural_klass_name = "DublinCore#{Utils.to_class_name(plural_name)}" klass.def_classed_elements(full_name, "value", plural_klass_name, full_plural_name, name) klass.module_eval(<<-EOC, __FILE__, __LINE__ + 1) def new_#{full_name}(value=nil) _#{full_name} = #{full_plural_name}.new_#{name} _#{full_name}.value = value if block_given? yield _#{full_name} else _#{full_name} end end EOC end klass.module_eval(<<-EOC, __FILE__, __LINE__ + 1) # For backward compatibility alias #{DC_PREFIX}_rightses #{DC_PREFIX}_rights_list EOC end
.install_dublin_core(klass)
[ GitHub ]# File 'lib/rss/maker/dublincore.rb', line 71
def self.install_dublin_core(klass) ::RSS::DublinCoreModel::ELEMENT_NAME_INFOS.each do |name, plural_name| plural_name ||= "#{name}s" klass_name = Utils.to_class_name(name) full_klass_name = "DublinCore#{klass_name}" plural_klass_name = "DublinCore#{Utils.to_class_name(plural_name)}" klass.module_eval(<<-EOC, __FILE__, __LINE__ + 1) class #{plural_klass_name} < #{plural_klass_name}Base class #{full_klass_name} < #{full_klass_name}Base end #{klass_name} = #{full_klass_name} end EOC end end