Module RSS::Maker::ITunesBaseModel
In: lib/rss/maker/itunes.rb

Methods

Public Instance methods

[Source]

    # 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

[Source]

    # 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

[Source]

    # 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

[Source]

    # 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

[Source]

    # File lib/rss/maker/itunes.rb, line 36
36:       def def_yes_other_accessor(klass, full_name)
37:         klass.def_other_element(full_name)
38:         klass.module_eval("def \#{full_name}?\nUtils::YesOther.parse(@\#{full_name})\nend\n", __FILE__, __LINE__ + 1)
39:       end

[Validate]