Class: SpecForge::Error::UndefinedCallbackError

Inherits:
Error
  • Object
show all
Defined in:
lib/spec_forge/error.rb

Overview

Raised when a callback is referenced in config but hasn't been defined

Instance Method Summary collapse

Constructor Details

#initialize(callback_name, available_callbacks = []) ⇒ UndefinedCallbackError

Returns a new instance of UndefinedCallbackError.



328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'lib/spec_forge/error.rb', line 328

def initialize(callback_name, available_callbacks = [])
  message = "The callback #{callback_name.in_quotes} was referenced but hasn't been defined."

  message +=
    if available_callbacks.any?
      <<~STR.chomp

        Available callbacks are: #{available_callbacks.join_map(", ", &:in_quotes)}
      STR
    else
      <<~STR.chomp

        No callbacks have been defined yet. Register callbacks with:

          SpecForge.register_callback(:#{callback_name}) do |context|
            # Your callback code
          end
      STR
    end

  super(message)
end