Class: Boson::RunnerLibrary
- Defined in:
- lib/boson/runner_library.rb
Overview
Library created by Runner
Constant Summary
Constants inherited from Library
Instance Attribute Summary
Attributes inherited from Library
#lib_file, #new_commands, #new_module
Class Method Summary collapse
Instance Method Summary collapse
-
#load_source_and_set_module ⇒ Object
Since Boson expects libraries to be modules, creates a temporary module and delegates its methods to it.
- #set_name(runner) ⇒ Object
Methods inherited from Library
#clean_name, #command_object, #command_objects, handles, #initialize, #library_type
Methods included from Library::API
#before_initialize, #config, #local?, #namespace_object
Methods included from Loader
#actual_load_commands, #after_include, #before_load_commands, #clean_library_commands, #detect_additions, #handle_method_conflict_error, #load, #load_commands, #load_commands?, #loaded_correctly?, #method_conflicts, #module_callbacks, #set_library_commands
Constructor Details
This class inherits a constructor from Boson::Library
Class Method Details
.delegate_runner_methods(runner, mod) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/boson/runner_library.rb', line 8 def self.delegate_runner_methods(runner, mod) mod.module_eval do runner.public_instance_methods(false).each do |meth| define_method(meth) do |*args, &block| runner.new.send(meth, *args, &block) end end end end |
Instance Method Details
#load_source_and_set_module ⇒ Object
Since Boson expects libraries to be modules, creates a temporary module and delegates its methods to it
25 26 27 28 29 |
# File 'lib/boson/runner_library.rb', line 25 def load_source_and_set_module @module = Util.create_module Boson::Commands, @name MethodInspector.instance.rename_store_key @runner, @module self.class.delegate_runner_methods @runner, @module end |
#set_name(runner) ⇒ Object
18 19 20 21 |
# File 'lib/boson/runner_library.rb', line 18 def set_name(runner) @runner = runner #reference needed elsewhere @runner.to_s[/[^:]+$/].downcase end |