Module: SuperCallbacks

Defined in:
lib/super_callbacks.rb,
lib/super_callbacks/version.rb

Defined Under Namespace

Modules: ClassAndInstanceMethods, ClassMethods, Helpers, InstanceMethods Classes: Prepended

Constant Summary collapse

VALID_OPTION_KEYS =
[:if].freeze
VERSION =
'1.1.2'

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/super_callbacks.rb', line 6

def self.included(base)
  # prevent re-including
  return if base.ancestors.detect { |ancestor| ancestor.is_a? SuperCallbacks::Prepended }

  base.singleton_class.send :attr_accessor, *[:before_callbacks, :after_callbacks]
  base.send :attr_accessor, *[:before_callbacks, :after_callbacks]
  base.extend ClassMethods
  base.send :include, InstanceMethods
  base.extend ClassAndInstanceMethods
  base.send :include, ClassAndInstanceMethods
  base.send :prepend, Prepended.new
end