module TD2Planet

vim: set filetype=ruby ts=2 sw=2 sts=2:

copyright © 2006, 2007, 2009, 2013 Kazuhiro NISHIYAMA

Constants

TD2PLANET_RELEASE_DATE
TD2PLANET_VERSION

Public Class Methods

generator() click to toggle source

return string for meta generator (see templates/layout.rhtml)

   # File lib/td2planet/version.rb
26 def self.generator
27   "#{td2planet_version} / Powered by #{ruby_version}"
28 end
ruby_version() click to toggle source

return ruby version string (simulate output of ruby -v)

   # File lib/td2planet/version.rb
10 def self.ruby_version
11   if defined?(RUBY_DESCRIPTION)
12     RUBY_DESCRIPTION
13   elsif defined?(RUBY_PATCHLEVEL)
14     "ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE} patchlevel #{RUBY_PATCHLEVEL}) [#{RUBY_PLATFORM}]"
15   else
16     "ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
17   end
18 end
td2planet_version() click to toggle source

return TD2Planet version string

   # File lib/td2planet/version.rb
21 def self.td2planet_version
22   "TD2Planet #{TD2PLANET_VERSION} (#{TD2PLANET_RELEASE_DATE})"
23 end

Public Instance Methods

get_formatter_class(formatter_name) click to toggle source
   # File lib/td2planet/runner.rb
31 def get_formatter_class(formatter_name)
32   formatter_class_name = formatter_name.gsub(/(^|_)(.)/) { $2.upcase }
33   begin
34     require formatter_name
35   rescue LoadError
36     begin
37       require "td2planet/#{formatter_name}"
38     rescue LoadError
39       raise LoadError, "no such formatter: #{formatter_name}"
40     end
41   end
42   formatter = const_get(formatter_class_name)
43 end
main(argv=ARGV) click to toggle source
   # File lib/td2planet/runner.rb
14 def main(argv=ARGV)
15   opts = OptionParser.new
16   usage = proc { puts opts; exit(1) }
17   opts.banner << " config.yaml"
18   @dry_run = false
19   opts.on('-n', '--dry-run', 'do not fetch, generate files only') { @dry_run = true }
20   opts.on('-h', '--help', 'show this message') { usage.call }
21   opts.parse!(argv)
22   if argv.empty?
23     usage.call
24   end
25   argv.each do |filename|
26     config = YAML.load(File.read(filename))
27     run(config)
28   end
29 end
run(config) click to toggle source
   # File lib/td2planet/runner.rb
45 def run(config)
46   formatter_name = config['formatter'] || 'default_formatter'
47   formatter = get_formatter_class(formatter_name).new(config)
48 
49   writer = Writer.new(config, formatter)
50   fetcher = Fetcher.new(config['cache_dir'], @dry_run)
51   rss_list = fetcher.fetch_all_rss(config['uri'])
52 
53   writer.output_html(rss_list)
54   writer.output_opml(rss_list)
55   writer.output_rss(rss_list)
56 end