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