class RSS::Rss

RSS 2.0 支持

RSS 有三个不同的版本。此模块包含对版本 2.0 的支持

生成 RSS 2.0

生成我们自己的 RSS 源也很容易。让我们创建一个非常基本的源

require "rss"

rss = RSS::Maker.make("2.0") do |maker|
  maker.channel.language = "en"
  maker.channel.author = "matz"
  maker.channel.updated = Time.now.to_s
  maker.channel.link = "https://ruby-lang.org.cn/en/feeds/news.rss"
  maker.channel.title = "Example Feed"
  maker.channel.description = "A longer description of my feed."
  maker.items.new_item do |item|
    item.link = "https://ruby-lang.org.cn/en/news/2010/12/25/ruby-1-9-2-p136-is-released/"
    item.title = "Ruby 1.9.2-p136 is released"
    item.updated = Time.now.to_s
  end
end

puts rss

如您所见,这是一个非常像 Builder 的 DSL。此代码将输出一个包含一个项目的 RSS 2.0 源。如果我们需要第二个项目,我们将使用 maker.items.new_item 创建另一个块并构建第二个。

属性

feed_version[W]
rss_version[RW]

公共类方法

new(feed_version, version=nil, encoding=nil, standalone=nil) 点击切换源代码
调用超类方法 RSS::RootElementMixin::new
# File rss-0.3.1/lib/rss/0.9.rb, line 63
def initialize(feed_version, version=nil, encoding=nil, standalone=nil)
  super
  @feed_type = "rss"
end

公共实例方法

image() 点击切换源代码
# File rss-0.3.1/lib/rss/0.9.rb, line 76
def image
  if @channel
    @channel.image
  else
    nil
  end
end
items() 点击切换源代码
# File rss-0.3.1/lib/rss/0.9.rb, line 68
def items
  if @channel
    @channel.items
  else
    []
  end
end
setup_maker_elements(maker) 点击切换源代码
调用超类方法
# File rss-0.3.1/lib/rss/0.9.rb, line 92
def setup_maker_elements(maker)
  super
  items.each do |item|
    item.setup_maker(maker.items)
  end
  image.setup_maker(maker) if image
  textinput.setup_maker(maker) if textinput
end
textinput() 点击切换源代码
# File rss-0.3.1/lib/rss/0.9.rb, line 84
def textinput
  if @channel
    @channel.textInput
  else
    nil
  end
end

私有实例方法

_attrs() 点击切换源代码
# File rss-0.3.1/lib/rss/0.9.rb, line 102
def _attrs
  [
    ["version", true, "feed_version"],
  ]
end