Class: Easyop::Plugins::Base
- Inherits:
-
Object
- Object
- Easyop::Plugins::Base
- Defined in:
- lib/easyop/plugins/base.rb
Overview
Abstract base for EasyOp plugins.
A plugin is any object responding to ‘.install(base_class, **options)`. Inherit from Base for convenience and documentation:
module MyPlugin < Easyop::Plugins::Base
def self.install(base, **options)
base.prepend(RunWrapper)
base.extend(ClassMethods)
end
end
Plugins are activated via the ‘plugin` DSL on operation classes:
class ApplicationOperation
include Easyop::Operation
plugin MyPlugin, option: :value
end
Class Method Summary collapse
Class Method Details
.install(_base, **_options) ⇒ Object
22 23 24 |
# File 'lib/easyop/plugins/base.rb', line 22 def self.install(_base, **) raise NotImplementedError, "#{name}.install(base, **options) must be implemented" end |