Module: Navigable::Command
- Defined in:
- lib/navigable/command.rb
Defined Under Namespace
Classes: NotFoundError
Constant Summary collapse
- TYPE =
:__command__- EXECUTE_NOT_IMPLEMENTED_MESSAGE =
'Class must implement `execute` method.'
Class Method Summary collapse
Class Method Details
.extended(base) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/navigable/command.rb', line 12 def self.extended(base) base.extend(Manufacturable::Item) base.include(Observable) base.instance_eval do def corresponds_to(key) super(key, TYPE) end end base.class_eval do attr_reader :params, :observers def inject(params: {}, observers: []) @params = params @observers = observers end def execute raise NotImplementedError.new(EXECUTE_NOT_IMPLEMENTED_MESSAGE) end end end |