class GemsStatus::Runner

Attributes

checker_results[RW]
gem_list[RW]
source[RW]

Public Class Methods

new() click to toggle source
# File lib/gems-status/runner.rb, line 9
def initialize
  @source = nil
  @checkers = []
  @checker_results = {}
  @comments = {}
  @gem_list = nil
end
setup_runner(conf) click to toggle source
# File lib/gems-status/runner.rb, line 17
def Runner.setup_runner(conf)
  GemsStatus::Utils::known_licenses = conf["licenses"]
  runner = GemsStatus::Runner.new
  c = conf["source"]
  gems = eval("GemsStatus::#{c["classname"]}").new(c)
  runner.source = gems
  if conf["checkers"]
    conf["checkers"].each do |c|
      checker = eval("GemsStatus::#{c["classname"]}").new(c)
     runner.add_checker(checker)
    end
  end
  if conf["comments"]
    runner.add_comments(conf["comments"])
  end
  return runner
end

Public Instance Methods

add_checker(check_object) click to toggle source
# File lib/gems-status/runner.rb, line 35
def add_checker(check_object)
  @checkers << check_object
end
add_comments(comments) click to toggle source
# File lib/gems-status/runner.rb, line 53
def add_comments(comments)
  @comments = comments
end
are_there_gems?() click to toggle source
# File lib/gems-status/runner.rb, line 57
def are_there_gems?
  return @gem_list && !@gem_list.empty?
end
execute() click to toggle source
# File lib/gems-status/runner.rb, line 39
def execute
  return unless @source
  @gem_list = @source.gem_list
  @checkers.each do |check_object|
    Utils::log_debug "checking #{check_object.class.name}"
    @gem_list.each do |name, gem|
      if !check_object.check?(gem)
        @checker_results[name] = [] unless @checker_results[name]
        @checker_results[name] << check_object.clone
      end
    end
  end
end
print() click to toggle source