module Polisher::CheckerLoader

Public Instance Methods

all_targets()
Alias for: load_targets
check(*target) click to toggle source

Enable the specified target(s) in the list of target to check

# File lib/polisher/adaptors/checker_loader.rb, line 67
def check(*target)
  @check_list ||= []
  target.flatten.each { |t| @check_list << t }
end
default_modules() click to toggle source

Return modules marked as default

# File lib/polisher/adaptors/checker_loader.rb, line 57
def default_modules
  @target_modules.select { |tm| tm.default? }
end
default_targets() click to toggle source

Return targets marked as default

# File lib/polisher/adaptors/checker_loader.rb, line 62
def default_targets
  default_modules.collect { |m| module_target(m) }
end
load_target(target) click to toggle source

Load specified target

# File lib/polisher/adaptors/checker_loader.rb, line 38
def load_target(target)
  raise ArgumentError, target unless targets.include?(target)

  require "polisher/adaptors/version_checker/#{target}"

  tm = target_module(target)
  @target_modules ||= []
  @target_modules << tm
  include tm
end
load_targets() click to toggle source

Load all targets

# File lib/polisher/adaptors/checker_loader.rb, line 50
def load_targets
  targets.each { |t| load_target t }
  targets
end
Also aliased as: all_targets
module_target(mod) click to toggle source

Target corresponding to mixin module

# File lib/polisher/adaptors/checker_loader.rb, line 28
def module_target(mod)
  mod.to_s.gsub('Polisher::', '').gsub('VersionChecker', '').underscore.intern
end
should_check?(target) click to toggle source

Return bool indicating if target should be checked

# File lib/polisher/adaptors/checker_loader.rb, line 73
def should_check?(target)
  @check_list ||= default_targets
  @check_list.include?(target)
end
target_dir() click to toggle source

Dir which target checkers reside

# File lib/polisher/adaptors/checker_loader.rb, line 12
def target_dir
  @target_dir ||= File.expand_path(File.join(File.dirname(__FILE__), '/version_checker'))
end
target_method(target) click to toggle source

Mixed in method to check target

# File lib/polisher/adaptors/checker_loader.rb, line 33
def target_method(target)
  "#{target}_versions"
end
target_module(target) click to toggle source

Mixin module corresponding to target

# File lib/polisher/adaptors/checker_loader.rb, line 23
def target_module(target)
  "Polisher::#{target.to_s.camelcase}VersionChecker".constantize
end
targets() click to toggle source

Targets to check

# File lib/polisher/adaptors/checker_loader.rb, line 17
def targets
  @targets ||= Dir.glob(File.join(target_dir, '*.rb'))
                  .collect { |t| t.gsub("#{target_dir}/", '').gsub('.rb', '').intern }
end