class RSS::Maker::RSS10::Channel - rss: Ruby Standard Library Documentation

# class RSS::Maker::RSS10::Channel

### Public Instance Methods

to_feed(rss) click to toggle source

    # File rss-0.3.1/lib/rss/maker/1.0.rb, line 31
    def to_feed(rss)
      set_default_values do
        _not_set_required_variables = not_set_required_variables
        if _not_set_required_variables.empty?
          channel = RDF::Channel.new(@about)
          setup_values(channel)
          channel.dc_dates.clear
          rss.channel = channel
          set_parent(channel, rss)
          setup_items(rss)
          setup_image(rss)
          setup_textinput(rss)
          setup_other_elements(rss, channel)
        else
          raise NotSetError.new("maker.channel", _not_set_required_variables)
        end
      end
    end

### Private Instance Methods

not_set_required_variables() click to toggle source
Calls superclass method

    # File rss-0.3.1/lib/rss/maker/1.0.rb, line 86
    def not_set_required_variables
      vars = super
      vars << "description" unless description {|d| d.have_required_values?}
      vars << "title" unless title {|t| t.have_required_values?}
      vars
    end

required_variable_names() click to toggle source

    # File rss-0.3.1/lib/rss/maker/1.0.rb, line 82
    def required_variable_names
      %w(about link)
    end

setup_image(rss) click to toggle source

    # File rss-0.3.1/lib/rss/maker/1.0.rb, line 66
    def setup_image(rss)
      if @maker.image.have_required_values?
        image = RDF::Channel::Image.new(@maker.image.url)
        rss.channel.image = image
        set_parent(image, rss.channel)
      end
    end

setup_items(rss) click to toggle source

    # File rss-0.3.1/lib/rss/maker/1.0.rb, line 51
    def setup_items(rss)
      items = RDF::Channel::Items.new
      seq = items.Seq
      set_parent(items, seq)
      target_items = @maker.items.normalize
      raise NotSetError.new("maker", ["items"]) if target_items.empty?
      target_items.each do |item|
        li = RDF::Channel::Items::Seq::Li.new(item.link)
        seq.lis << li
        set_parent(li, seq)
      end
      rss.channel.items = items
      set_parent(rss.channel, items)
    end

setup_textinput(rss) click to toggle source

    # File rss-0.3.1/lib/rss/maker/1.0.rb, line 74
    def setup_textinput(rss)
      if @maker.textinput.have_required_values?
        textinput = RDF::Channel::Textinput.new(@maker.textinput.link)
        rss.channel.textinput = textinput
        set_parent(textinput, rss.channel)
      end
    end