lib/rrimm/config.rb in rrimm-0.2.0 vs lib/rrimm/config.rb in rrimm-0.3.0

- old
+ new

@@ -25,11 +25,15 @@ puts "Default formatter: #{default_formatter}" if default_formatter puts "Feeds:" @feeds.values.group_by { |f| f.category }.map do |cat, feeds| - puts "#{cat}:" unless cat.nil? or cat.empty? + if cat.nil? or cat.empty? + puts "" + else + puts "#{cat}:" + end feeds.each do |feed| fqdn = [feed.name] fqdn << feed.uri unless feed.name.eql? feed.uri puts "- #{fqdn.join ': '}" end @@ -62,9 +66,26 @@ def feed(name, *args, &block) feed_def = evaluate_feed_definition(name, *args, &block) @feeds[name] = feed_def end + + def category(cat_name, &block) + Feed.module_eval do + @@tmp_cat_name = cat_name + alias :old_initialize :initialize + def initialize(feed_name) + old_initialize(feed_name) + @category = @@tmp_cat_name + end + end + self.instance_eval(&block) if block + ensure + Feed.module_eval do + alias :initialize :old_initialize + end + end + def load(file) instance_eval(File.read(file), file) end