module RSS::Maker::AtomTextConstruct - rss: Ruby Standard Library Documentation

# module RSS::Maker::AtomTextConstruct

### Public Class Methods

def_atom_text_construct(klass, name, maker_name, klass_name=nil, atom_klass_name=nil) click to toggle source

    # File rss-0.3.1/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

### Private Instance Methods

required_variable_names() click to toggle source

    # File rss-0.3.1/lib/rss/maker/atom.rb, line 67
    def required_variable_names
      if type == "xhtml"
        %w(xml_content)
      else
        %w(content)
      end
    end

variables() click to toggle source
Calls superclass method

    # File rss-0.3.1/lib/rss/maker/atom.rb, line 75
    def variables
      if type == "xhtml"
        super + %w(xhtml)
      else
        super
      end
    end