lib/metric_fu.rb in edouard-metric_fu-1.1.1 vs lib/metric_fu.rb in edouard-metric_fu-1.2.0
- old
+ new
@@ -1,24 +1,31 @@
+require 'rake'
+require 'yaml'
# Load a few things to make our lives easier elsewhere.
module MetricFu
LIB_ROOT = File.dirname(__FILE__)
end
base_dir = File.join(MetricFu::LIB_ROOT, 'base')
-generator_dir = File.join(MetricFu::LIB_ROOT, 'generators')
-template_dir = File.join(MetricFu::LIB_ROOT, 'templates')
-graph_dir = File.join(MetricFu::LIB_ROOT, 'graphs')
+generator_dir = File.join(MetricFu::LIB_ROOT, 'generators')
+template_dir = File.join(MetricFu::LIB_ROOT, 'templates')
+graph_dir = File.join(MetricFu::LIB_ROOT, 'graphs')
# We need to require these two things first because our other classes
# depend on them.
require File.join(base_dir, 'report')
require File.join(base_dir, 'generator')
require File.join(base_dir, 'graph')
-# Load the rakefile so users of the gem get the default metric_fu task
-load File.join(MetricFu::LIB_ROOT, '..', 'tasks', 'metric_fu.rake')
+# prevent the task from being run multiple times.
+unless Rake::Task.task_defined? "metrics:all"
+ # Load the rakefile so users of the gem get the default metric_fu task
+ load File.join(MetricFu::LIB_ROOT, '..', 'tasks', 'metric_fu.rake')
+end
# Now load everything else that's in the directory
Dir[File.join(base_dir, '*.rb')].each{|l| require l }
Dir[File.join(generator_dir, '*.rb')].each {|l| require l }
Dir[File.join(template_dir, 'standard/*.rb')].each {|l| require l}
Dir[File.join(template_dir, 'awesome/*.rb')].each {|l| require l}
-Dir[File.join(graph_dir, '*.rb')].each {|l| require l}
+require graph_dir + "/grapher"
+Dir[File.join(graph_dir, '*.rb')].each {|l| require l}
+Dir[File.join(graph_dir, 'engines', '*.rb')].each {|l| require l}
\ No newline at end of file