Module | RSS::Maker::ITunesBaseModel |
In: |
lib/rss/maker/itunes.rb
|
# File lib/rss/maker/itunes.rb, line 7 7: def def_class_accessor(klass, name, type, *args) 8: name = name.gsub(/-/, "_").gsub(/^itunes_/, '') 9: full_name = "#{RSS::ITUNES_PREFIX}_#{name}" 10: case type 11: when nil 12: klass.def_other_element(full_name) 13: when :yes_other 14: def_yes_other_accessor(klass, full_name) 15: when :yes_clean_other 16: def_yes_clean_other_accessor(klass, full_name) 17: when :csv 18: def_csv_accessor(klass, full_name) 19: when :element, :attribute 20: recommended_attribute_name, = *args 21: klass_name = "ITunes#{Utils.to_class_name(name)}" 22: klass.def_classed_element(full_name, klass_name, 23: recommended_attribute_name) 24: when :elements 25: plural_name, recommended_attribute_name = args 26: plural_name ||= "#{name}s" 27: full_plural_name = "#{RSS::ITUNES_PREFIX}_#{plural_name}" 28: klass_name = "ITunes#{Utils.to_class_name(name)}" 29: plural_klass_name = "ITunes#{Utils.to_class_name(plural_name)}" 30: def_elements_class_accessor(klass, name, full_name, full_plural_name, 31: klass_name, plural_klass_name, 32: recommended_attribute_name) 33: end 34: end
# File lib/rss/maker/itunes.rb, line 56 56: def def_csv_accessor(klass, full_name) 57: klass.def_csv_element(full_name) 58: end
# File lib/rss/maker/itunes.rb, line 60 60: def def_elements_class_accessor(klass, name, full_name, full_plural_name, 61: klass_name, plural_klass_name, 62: recommended_attribute_name=nil) 63: if recommended_attribute_name 64: klass.def_classed_elements(full_name, recommended_attribute_name, 65: plural_klass_name, full_plural_name) 66: else 67: klass.def_classed_element(full_plural_name, plural_klass_name) 68: end 69: klass.module_eval("def new_\#{full_name}(text=nil)\n\#{full_name} = @\#{full_plural_name}.new_\#{name}\n\#{full_name}.text = text\nif block_given?\nyield \#{full_name}\nelse\n\#{full_name}\nend\nend\n", __FILE__, __LINE__ + 1) 70: end
# File lib/rss/maker/itunes.rb, line 46 46: def def_yes_clean_other_accessor(klass, full_name) 47: klass.def_other_element(full_name) 48: klass.module_eval("def \#{full_name}?\nUtils::YesCleanOther.parse(\#{full_name})\nend\n", __FILE__, __LINE__ + 1) 49: end