module Legion::Extensions::Builder::Runners
Attributes
runners[R]
Public Instance Methods
build_runner_list()
click to toggle source
# File lib/legion/extensions/builders/runners.rb, line 18 def build_runner_list runner_files.each do |file| runner_name = file.split('/').last.sub('.rb', '') runner_class = "#{lex_class}::Runners::#{runner_name.split('_').collect(&:capitalize).join}" loaded_runner = Kernel.const_get(runner_class) @runners[runner_name.to_sym] = { extension: lex_class.to_s.downcase, extension_name: extension_name, extension_class: lex_class, runner_name: runner_name, runner_class: runner_class, runner_path: file, class_methods: {} } @runners[runner_name.to_sym][:scheduled_tasks] = loaded_runner.scheduled_tasks if loaded_runner.method_defined? :scheduled_tasks if settings.key?(:runners) && settings[:runners].key?(runner_name.to_sym) @runners[runner_name.to_sym][:desc] = settings[:runners][runner_name.to_sym][:desc] end loaded_runner.public_instance_methods(false).each do |runner_method| @runners[runner_name.to_sym][:class_methods][runner_method] = { args: loaded_runner.instance_method(runner_method).parameters } end loaded_runner.methods(false).each do |runner_method| next if %i[scheduled_tasks runner_description].include? runner_method @runners[runner_name.to_sym][:class_methods][runner_method] = { args: loaded_runner.method(runner_method).parameters } end end end
build_runners()
click to toggle source
# File lib/legion/extensions/builders/runners.rb, line 11 def build_runners @runners = {} lex_class.const_set('Runners', Module.new) unless lex_class.const_defined?('Runners') require_files(runner_files) build_runner_list end
runner_files()
click to toggle source
# File lib/legion/extensions/builders/runners.rb, line 56 def runner_files @runner_files ||= find_files('runners') end