Module: AyeCommander::Resultable::ClassMethods
- Included in:
- Command::ClassMethods
- Defined in:
- lib/aye_commander/resultable.rb
Overview
Most of the functionality is at class level since it receives several class instance variables.
Instance Method Summary collapse
-
#new_result(values) ⇒ Object
Creates a new instance of a Command::Result with the received values and returns it.
-
#result(command, skip_cleanup = false) ⇒ Object
Returns a result based on the skip_cleanup option skip_cleanup false (Default) Returns a result taking returns in account true Returns the result skipping the cleanup.
-
#result_class ⇒ Object
Returns and/or defines the Result class to be returned by the current command.
Instance Method Details
#new_result(values) ⇒ Object
Creates a new instance of a Command::Result with the received values and returns it.
27 28 29 |
# File 'lib/aye_commander/resultable.rb', line 27 def new_result(values) result_class.new(values) end |
#result(command, skip_cleanup = false) ⇒ Object
Returns a result based on the skip_cleanup option skip_cleanup
false (Default) Returns a result taking returns in account
true Returns the result skipping the cleanup.
:command Using this option asks to get the command instance rather
than a result. This of course means the command is not clean.
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/aye_commander/resultable.rb', line 14 def result(command, skip_cleanup = false) case skip_cleanup when :command command when true new_result(command.to_hash) else new_result(command.to_result_hash) end end |
#result_class ⇒ Object
Returns and/or defines the Result class to be returned by the current command. This class is created under the namespace of the command so the end result looks pretty damn cool in my opinion. Eg: Command::Result
36 37 38 |
# File 'lib/aye_commander/resultable.rb', line 36 def result_class const_defined?('Result') ? const_get('Result') : define_result_class end |