Class: Easyop::Plugins::Base

Inherits:
Object
  • Object
show all
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

Raises:

  • (NotImplementedError)


22
23
24
# File 'lib/easyop/plugins/base.rb', line 22

def self.install(_base, **_options)
  raise NotImplementedError, "#{name}.install(base, **options) must be implemented"
end