| 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