module RSS::ITunesModelUtils

Public Instance Methods

def_class_accessor(klass, name, type, *args) click to toggle source
# File lib/rss/itunes.rb, line 14
def def_class_accessor(klass, name, type, *args)
    normalized_name = name.gsub(/-/, "_")
  full_name = "#{ITUNES_PREFIX}_#{normalized_name}"
  klass_name = "ITunes#{Utils.to_class_name(normalized_name)}"

  case type
  when :element, :attribute
    klass::ELEMENTS << full_name
    def_element_class_accessor(klass, name, full_name, klass_name, *args)
  when :elements
    klass::ELEMENTS << full_name
    def_elements_class_accessor(klass, name, full_name, klass_name, *args)
  else
    klass.install_must_call_validator(ITUNES_PREFIX, ITUNES_URI)
    klass.install_text_element(normalized_name, ITUNES_URI, "?",
                               full_name, type, name)
  end
end
def_element_class_accessor(klass, name, full_name, klass_name, recommended_attribute_name=nil) click to toggle source
# File lib/rss/itunes.rb, line 33
def def_element_class_accessor(klass, name, full_name, klass_name,
                               recommended_attribute_name=nil)
  klass.install_have_child_element(name, ITUNES_PREFIX, "?", full_name)
end
def_elements_class_accessor(klass, name, full_name, klass_name, plural_name, recommended_attribute_name=nil) click to toggle source
# File lib/rss/itunes.rb, line 38
def def_elements_class_accessor(klass, name, full_name, klass_name,
                                plural_name, recommended_attribute_name=nil)
  full_plural_name = "#{ITUNES_PREFIX}_#{plural_name}"
  klass.install_have_children_element(name, ITUNES_PREFIX, "*",
                                      full_name, full_plural_name)
end