diff options
Diffstat (limited to 'lib/rss/rss.rb')
-rw-r--r-- | lib/rss/rss.rb | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/rss/rss.rb b/lib/rss/rss.rb index 7ffb475007..848fbd7b79 100644 --- a/lib/rss/rss.rb +++ b/lib/rss/rss.rb @@ -627,12 +627,22 @@ EOC def setup_maker_element(target) self.class.need_initialize_variables.each do |var| - setter = "#{var}=" - if target.respond_to?(setter) - target.__send__(setter, __send__(var)) + value = __send__(var) + if value.respond_to?("setup_maker") and + !not_need_to_call_setup_maker_variables.include?(var) + value.setup_maker(target) + else + setter = "#{var}=" + if target.respond_to?(setter) + target.__send__(setter, value) + end end end end + + def not_need_to_call_setup_maker_variables + [] + end def setup_maker_elements(parent) self.class.have_children_elements.each do |name, plural_name| |