Class: Enum::Transitions::Mixin

Inherits:
Module
  • Object
show all
Includes:
ActiveSupport::Concern
Defined in:
lib/enum/transitions/mixin.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Mixin

Returns a new instance of Mixin.

Parameters:



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/enum/transitions/mixin.rb', line 7

def initialize(config)
  @_dependencies = []
  @_enum = config.enum

  included do
    define_callbacks(*config.callbacks.keys)

    config.callbacks.each_pair do |event, callbacks|
      callbacks.each do |kind, block|
        set_callback(event, kind, &block)
      end
    end

    around_update UpdateHandler.new(config), if: :"#{config.enum}_changed?"
  end
end

Instance Method Details

#inspectObject



24
25
26
# File 'lib/enum/transitions/mixin.rb', line 24

def inspect
  "Enum::Transitions::Mixin[#{@_enum}]"
end