Class: Hesburgh::Lib::NamedCallbacks

Inherits:
Object
  • Object
show all
Defined in:
lib/hesburgh/lib/named_callbacks.rb

Overview

Responsible for registering blocks used for callbacks.

Instance Method Summary collapse

Constructor Details

#initializeNamedCallbacks

Returns a new instance of NamedCallbacks.



5
6
7
# File 'lib/hesburgh/lib/named_callbacks.rb', line 5

def initialize
  @callbacks = {}
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(callback_name, *_args, &block) ⇒ Object



9
10
11
# File 'lib/hesburgh/lib/named_callbacks.rb', line 9

def method_missing(callback_name, *_args, &block)
  @callbacks[callback_name] = block
end

Instance Method Details

#call(callback_name, *args) ⇒ Object



17
18
19
20
21
# File 'lib/hesburgh/lib/named_callbacks.rb', line 17

def call(callback_name, *args)
  callback_name = callback_name.to_sym
  callback = @callbacks[callback_name]
  callback ? callback.call(*args) : true
end

#respond_to_missing?(callback_name) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/hesburgh/lib/named_callbacks.rb', line 13

def respond_to_missing?(callback_name)
  @callbacks[callback_name]
end