Module: Interceptors

Defined in:
lib/interceptors.rb,
lib/interceptors/result.rb,
lib/interceptors/version.rb,
lib/interceptors/pipeline.rb,
lib/interceptors/use_case.rb,
lib/interceptors/app_error.rb,
lib/interceptors/auth_error.rb,
lib/interceptors/interceptor.rb,
lib/interceptors/use_case_core.rb,
lib/interceptors/use_case_mixin.rb,
lib/interceptors/validation_error.rb,
lib/interceptors/retry_interceptor.rb,
lib/interceptors/logging_interceptor.rb,
lib/interceptors/timeout_interceptor.rb,
lib/interceptors/validation_interceptor.rb,
lib/interceptors/idempotency_interceptor.rb,
lib/interceptors/transaction_interceptor.rb,
lib/interceptors/rails/use_case_responder.rb

Defined Under Namespace

Modules: Rails, UseCaseCore, UseCaseMixin Classes: AppError, AuthError, Configuration, IdempotencyInterceptor, Interceptor, LoggingInterceptor, Pipeline, Result, RetryInterceptor, TimeoutInterceptor, TransactionInterceptor, UseCase, ValidationError, ValidationInterceptor

Constant Summary collapse

VERSION =
"1.0.3"

Class Method Summary collapse

Class Method Details

.configurationObject



20
21
22
# File 'lib/interceptors.rb', line 20

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



16
17
18
# File 'lib/interceptors.rb', line 16

def configure
  yield configuration
end

.instrument(event_name, payload) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/interceptors.rb', line 24

def instrument(event_name, payload)
  if block_given?
    ActiveSupport::Notifications.instrument(event_name, payload) { yield }
  else
    ActiveSupport::Notifications.instrument(event_name, payload)
  end
end

.loaderObject



10
11
12
13
14
# File 'lib/interceptors.rb', line 10

def loader
  @loader ||= Zeitwerk::Loader.for_gem.tap do |loader|
    loader.inflector.inflect("version" => "VERSION")
  end
end