Class: DTK::Client::Execute::ExecuteContext
- Inherits:
-
Object
- Object
- DTK::Client::Execute::ExecuteContext
- Defined in:
- lib/execute/execute_context.rb,
lib/execute/execute_context/result_store.rb
Defined Under Namespace
Modules: ClassMixin Classes: Proxy, ResultStore
Instance Method Summary collapse
- #execute(&block) ⇒ Object
-
#initialize(opts = {}) ⇒ ExecuteContext
constructor
A new instance of ExecuteContext.
- #method_missing(m, *args, &block) ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ ExecuteContext
Returns a new instance of ExecuteContext.
28 29 30 31 |
# File 'lib/execute/execute_context.rb', line 28 def initialize(opts={}) @print_results = opts[:print_results] @proxy = Proxy.new() end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(m, *args, &block) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/execute/execute_context.rb', line 38 def method_missing(m, *args, &block) result, command = @proxy.send(m, *args, &block) if @print_results pp(:command => command.input_hash(),:result => result) end [result, command] end |
Instance Method Details
#execute(&block) ⇒ Object
33 34 35 36 |
# File 'lib/execute/execute_context.rb', line 33 def execute(&block) result, command = instance_eval(&block) result end |