class GrpcKit::InterceptorRegistry

Public Class Methods

new(interceptors) click to toggle source
# File lib/grpc_kit/interceptor_registory.rb, line 5
def initialize(interceptors)
  @interceptors = interceptors

  validate_interceptors
end

Public Instance Methods

build() click to toggle source
# File lib/grpc_kit/interceptor_registory.rb, line 11
def build
  @interceptors.dup
end

Private Instance Methods

validate_interceptors() click to toggle source
# File lib/grpc_kit/interceptor_registory.rb, line 17
def validate_interceptors
  unless @interceptors
    raise ArgumentError, 'interceptors must not be nil'
  end

  if @interceptors.empty?
    raise ArgumentError, 'interceptors must not be empty'
  end

  invalid_interceptors = @interceptors.reject do |interceptor|
    interceptor.class.ancestors.include?(GrpcKit::Grpc::Interceptor)
  end

  unless invalid_interceptors.empty?
    raise ArgumentError, "interceptor #{invalid_interceptors.join(', ')} must descend from #{GrpcKit::Grpc::Interceptor}"
  end
end