Module: Typelizer::DSL::Hooks::Builder

Included in:
AMS, Alba, OjSerializers, Panko
Defined in:
lib/typelizer/dsl/hooks.rb

Overview

DSL for defining hooks with less boilerplate

Instance Method Summary collapse

Instance Method Details

#hook(*methods, multi: false) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
# File 'lib/typelizer/dsl/hooks.rb', line 43

def hook(*methods, multi: false)
  methods.each do |method|
    define_method(method) do |name = nil, *args, **kwargs, &block|
      if name
        record_multi(name) if multi
        consume_keyless_type(name)
      end
      super(name, *args, **kwargs, &block)
    end
  end
end

#hook_method_addedObject



55
56
57
58
59
60
# File 'lib/typelizer/dsl/hooks.rb', line 55

def hook_method_added
  define_method(:method_added) do |method_name|
    consume_keyless_type(method_name)
    super(method_name)
  end
end