123456789_123456789_123456789_123456789_123456789_

Module: RSS::Maker::AtomTextConstruct

Relationships & Source Files
Defined in: lib/rss/maker/atom.rb

Class Method Summary

Instance Method Summary

Class Method Details

.def_atom_text_construct(klass, name, maker_name, klass_name = nil, atom_klass_name = nil)

[ GitHub ]

  
# File 'lib/rss/maker/atom.rb', line 42

def def_atom_text_construct(klass, name, maker_name, klass_name=nil,
                            atom_klass_name=nil)
  klass_name ||= Utils.to_class_name(name)
  atom_klass_name ||= Utils.to_class_name(name)

  klass.class_eval(<<-EOC, __FILE__, __LINE__ + 1)
    class #{klass_name} < #{klass_name}Base
      include #{self.name}
      def to_feed(feed, current)
        #{name} = current.class::#{atom_klass_name}.new
        if setup_values(#{name})
          current.#{name} = #{name}
          set_parent(#{name}, current)
          setup_other_elements(feed)
        elsif variable_is_set?
          raise NotSetError.new(#{maker_name.dump},
                                not_set_required_variables)
        end
      end
    end
  EOC
end

Instance Method Details

#required_variable_names (private)

[ GitHub ]

  
# File 'lib/rss/maker/atom.rb', line 67

def required_variable_names
  if type == "xhtml"
    %w(xml_content)
  else
    %w(content)
  end
end

#variables (private)

[ GitHub ]

  
# File 'lib/rss/maker/atom.rb', line 75

def variables
  if type == "xhtml"
    super + %w(xhtml)
  else
    super
  end
end