class RSS::Maker::Atom::Entry::Items::Item - rss: Ruby Standard Library Documentation

# class RSS::Maker::Atom::Entry::Items::Item

### Constants

Authors
Categories
Content
Contributors
Description
Enclosure
Guid
Links
Rights
Source
Title

### Public Instance Methods

to_feed(entry) click to toggle source

    # File rss-0.3.1/lib/rss/maker/entry.rb, line 68
    def to_feed(entry)
      set_default_values do
        setup_values(entry)
        entry.dc_dates.clear
        setup_other_elements(entry)
        unless have_required_values?
          raise NotSetError.new("maker.item", not_set_required_variables)
        end
      end
    end

### Private Instance Methods

_set_default_values() click to toggle source
Calls superclass method

    # File rss-0.3.1/lib/rss/maker/entry.rb, line 103
    def _set_default_values
      keep = {
        :authors => authors.to_a.dup,
        :contributors => contributors.to_a.dup,
        :categories => categories.to_a.dup,
        :id => id,
        :links => links.to_a.dup,
        :rights => @rights,
        :title => @title,
        :updated => updated,
      }
      authors.replace(@maker.channel.authors) if keep[:authors].empty?
      if keep[:contributors].empty?
        contributors.replace(@maker.channel.contributors)
      end
      if keep[:categories].empty?
        categories.replace(@maker.channel.categories)
      end
      self.id ||= link || @maker.channel.id
      links.replace(@maker.channel.links) if keep[:links].empty?
      unless keep[:rights].variable_is_set?
        @maker.channel.rights {|r| @rights = r}
      end
      unless keep[:title].variable_is_set?
        @maker.channel.title {|t| @title = t}
      end
      self.updated ||= @maker.channel.updated
      super
    ensure
      authors.replace(keep[:authors])
      contributors.replace(keep[:contributors])
      categories.replace(keep[:categories])
      links.replace(keep[:links])
      self.id = keep[:id]
      @rights = keep[:rights]
      @title = keep[:title]
      self.updated = keep[:updated]
    end

not_set_required_variables() click to toggle source
Calls superclass method

    # File rss-0.3.1/lib/rss/maker/entry.rb, line 92
    def not_set_required_variables
      set_default_values do
        vars = super
        if authors.all? {|author| !author.have_required_values?}
          vars << "author"
        end
        vars << "title" unless title {|t| t.have_required_values?}
        vars
      end
    end

required_variable_names() click to toggle source

    # File rss-0.3.1/lib/rss/maker/entry.rb, line 80
    def required_variable_names
      %w(id updated)
    end

variable_is_set?() click to toggle source
Calls superclass method

    # File rss-0.3.1/lib/rss/maker/entry.rb, line 88
    def variable_is_set?
      super or !authors.empty?
    end

variables() click to toggle source
Calls superclass method

    # File rss-0.3.1/lib/rss/maker/entry.rb, line 84
    def variables
      super + ["updated"]
    end