Sha256: 070ba1dd3ceaaa7e338a0cd6d0605ac1bdacfeb79397251b5854aecb498a0f9f

Contents?: true

Size: 1.08 KB

Versions: 5

Compression:

Stored size: 1.08 KB

Contents

require 'metric_fu/version'
module MetricFu
  APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__),'..'))
  LIB_ROOT = File.join(APP_ROOT,'lib/metric_fu')
  def self.root_dir
    APP_ROOT
  end
  def self.lib_dir
    LIB_ROOT
  end

  require 'metric_fu/loader'
  LOADER = MetricFu::Loader.new(LIB_ROOT)
  def self.lib_require(base='',&block)
    LOADER.lib_require(base,&block)
  end

  LOADER.create_dirs(self) do
    %w(metrics formatter reporting logging errors data_structures tasks)
  end

  # @note artifact_dir is relative to where the task is being run,
  # not to the metric_fu library
  require 'metric_fu/io'
  def self.artifact_dir
    MetricFu::Io::FileSystem.artifact_dir
  end

  LOADER.create_artifact_subdirs(self) do
    %w(scratch output _data)
  end

  def self.tasks_load(tasks_relative_path)
    LOADER.load_tasks(tasks_relative_path)
  end

  LOADER.setup

  def self.reset
    # TODO Don't like how this method needs to know
    # all of these class variables that are defined
    # in separate classes.
    @configuration = nil
    @graph = nil
    @result = nil
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
metric_fu-4.4.4 lib/metric_fu.rb
metric_fu-4.4.3 lib/metric_fu.rb
metric_fu-4.4.2 lib/metric_fu.rb
metric_fu-4.4.1 lib/metric_fu.rb
metric_fu-4.4.0 lib/metric_fu.rb