Module: Polisher::CheckerLoader
- Included in:
- VersionChecker
- Defined in:
- lib/polisher/adaptors/checker_loader.rb
Instance Method Summary collapse
-
#check(*target) ⇒ Object
Enable the specified target(s) in the list of target to check.
-
#default_modules ⇒ Object
Return modules marked as default.
-
#default_targets ⇒ Object
Return targets marked as default.
-
#load_target(target) ⇒ Object
Load specified target.
-
#load_targets ⇒ Object
(also: #all_targets)
Load all targets.
-
#module_target(mod) ⇒ Object
Target corresponding to mixin module.
-
#should_check?(target) ⇒ Boolean
Return bool indicating if target should be checked.
-
#target_dir ⇒ Object
Dir which target checkers reside.
-
#target_method(target) ⇒ Object
Mixed in method to check target.
-
#target_module(target) ⇒ Object
Mixin module corresponding to target.
-
#targets ⇒ Object
Targets to check.
Instance Method Details
#check(*target) ⇒ Object
Enable the specified target(s) in the list of target to check
67 68 69 70 |
# File 'lib/polisher/adaptors/checker_loader.rb', line 67 def check(*target) @check_list ||= [] target.flatten.each { |t| @check_list << t } end |
#default_modules ⇒ Object
Return modules marked as default
57 58 59 |
# File 'lib/polisher/adaptors/checker_loader.rb', line 57 def default_modules @target_modules.select { |tm| tm.default? } end |
#default_targets ⇒ Object
Return targets marked as default
62 63 64 |
# File 'lib/polisher/adaptors/checker_loader.rb', line 62 def default_targets default_modules.collect { |m| module_target(m) } end |
#load_target(target) ⇒ Object
Load specified target
38 39 40 41 42 43 44 45 46 47 |
# 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 ⇒ Object Also known as: all_targets
Load all targets
50 51 52 53 |
# File 'lib/polisher/adaptors/checker_loader.rb', line 50 def load_targets targets.each { |t| load_target t } targets end |
#module_target(mod) ⇒ Object
Target corresponding to mixin module
28 29 30 |
# 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) ⇒ Boolean
Return bool indicating if target should be checked
73 74 75 76 |
# File 'lib/polisher/adaptors/checker_loader.rb', line 73 def should_check?(target) @check_list ||= default_targets @check_list.include?(target) end |
#target_dir ⇒ Object
Dir which target checkers reside
12 13 14 |
# File 'lib/polisher/adaptors/checker_loader.rb', line 12 def target_dir @target_dir ||= File.(File.join(File.dirname(__FILE__), '/version_checker')) end |
#target_method(target) ⇒ Object
Mixed in method to check target
33 34 35 |
# File 'lib/polisher/adaptors/checker_loader.rb', line 33 def target_method(target) "#{target}_versions" end |
#target_module(target) ⇒ Object
Mixin module corresponding to target
23 24 25 |
# File 'lib/polisher/adaptors/checker_loader.rb', line 23 def target_module(target) "Polisher::#{target.to_s.camelcase}VersionChecker".constantize end |
#targets ⇒ Object
Targets to check
17 18 19 20 |
# 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 |