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