Module: Foobara::Entity::Concerns::Callbacks::ClassMethods

Defined in:
foobara-0.0.130/projects/entity/src/concerns/callbacks.rb

Instance Method Summary collapse

Instance Method Details

#class_callback_registryObject



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'foobara-0.0.130/projects/entity/src/concerns/callbacks.rb', line 40

def class_callback_registry
  @class_callback_registry ||= begin
    actions = [
      :initialized,
      :initialized_built,
      :initialized_thunk,
      :initialized_loaded,
      :initialized_created,
      :dirtied,
      :undirtied,
      :attribute_changed,
      :reverted,
      :loaded,
      :persisted,
      :hard_deleted,
      :unhard_deleted,
      :invalidated,
      :uninvalidated
    ]

    if self == Entity
      Callback::Registry::MultipleAction.new(actions).tap do |registry|
        registry.allowed_types = [:after]
      end
    else
      Callback::Registry::ChainedMultipleAction.new(superclass.class_callback_registry)
    end
  end
end