module RSS::Maker

Provides a set of builders for various RSS objects

Constants

MAKERS

Collection of supported makers

Public Class Methods

[](version) click to toggle source

Returns the maker for the version

# File lib/rss/maker.rb, line 33
def [](version)
  maker_info = maker(version)
  raise UnsupportedMakerVersionError.new(version) if maker_info.nil?
  maker_info[:maker]
end
add_maker(version, normalized_version, maker) click to toggle source

Adds a maker to the set of supported makers

# File lib/rss/maker.rb, line 40
def add_maker(version, normalized_version, maker)
  MAKERS[version] = {:maker => maker, :version => normalized_version}
end
make(version, &block) click to toggle source

Builder for an RSS object Creates an object of the type passed in args

Executes the block to populate elements of the created RSS object

# File lib/rss/maker.rb, line 28
def make(version, &block)
  self[version].make(&block)
end
makers() click to toggle source

Returns collection of supported makers

# File lib/rss/maker.rb, line 50
def makers
  MAKERS.values.collect { |info| info[:maker] }.uniq
end
supported?(version) click to toggle source

Returns true if the version is supported

# File lib/rss/maker.rb, line 55
def supported?(version)
  versions.include?(version)
end
versions() click to toggle source

Returns collection of supported maker versions

# File lib/rss/maker.rb, line 45
def versions
  MAKERS.keys.uniq.sort
end

Private Class Methods

maker(version) click to toggle source

Can I remove this method?

# File lib/rss/maker.rb, line 61
def maker(version)
  MAKERS[version]
end