Module: Esse::Hooks

Defined in:
lib/esse/hooks.rb,
lib/esse/hooks/version.rb

Overview

Esse::Hooks is a module that extends Esse with hooks capabilities.

Examples:

module Esse::ActiveRecord::Hooks
  include Esse::Hooks[store_key: :esse_active_record_hooks]

Defined Under Namespace

Modules: Primitives Classes: Mixin

Constant Summary collapse

VERSION =
"0.0.1"
@@hooks =
{}.freeze

Class Method Summary collapse

Class Method Details

.[](store_key:) ⇒ Object

Register a hook.

Parameters:

  • name (Symbol)

    The hook name.

  • hook (Module)

    The hook module.



30
31
32
33
34
35
36
# File 'lib/esse/hooks.rb', line 30

def [](store_key:)
  mixin = Mixin.new(store_key: store_key)
  dup = @@hooks.dup
  dup[mixin.store_key] = mixin
  @@hooks = dup.freeze
  mixin
end

.hooksHash{Symbol => Module}

Global variable with list of hooks.

Returns:

  • (Hash{Symbol => Module})


22
23
24
# File 'lib/esse/hooks.rb', line 22

def hooks
  @@hooks
end