diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rss/maker.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/rss/maker.rb b/lib/rss/maker.rb new file mode 100644 index 0000000000..c158c726c3 --- /dev/null +++ b/lib/rss/maker.rb @@ -0,0 +1,33 @@ +require "rss/rss" + +module RSS + + module Maker + + MAKERS = {} + + class << self + def make(version, modules=[], &block) + prefix = "rss/maker" + require "#{prefix}/#{version}" + modules.each do |mod| + require "#{prefix}/#{mod}" + end + maker(version).make(&block) + end + + def maker(version) + MAKERS[version] + end + + def add_maker(version, maker) + MAKERS[version] = maker + end + + def filename_to_version(filename) + File.basename(filename, ".*") + end + end + end + +end |