Module: Protobuf::Rpc::ServiceFilters::ClassMethods

Defined in:
lib/protobuf/rpc/service_filters.rb

Instance Method Summary collapse

Instance Method Details

#filtersObject

Filters hash keyed based on filter type (e.g. :before, :after, :around), whose values are Sets.



26
27
28
# File 'lib/protobuf/rpc/service_filters.rb', line 26

def filters
  @filters ||= Hash.new { |h, k| h[k] = [] }
end

#rescue_filtersObject

Filters hash keyed based on filter type (e.g. :before, :after, :around), whose values are Sets.



33
34
35
# File 'lib/protobuf/rpc/service_filters.rb', line 33

def rescue_filters
  @rescue_filters ||= {}
end

#rescue_from(*ex_klasses, &block) ⇒ Object



37
38
39
40
41
42
# File 'lib/protobuf/rpc/service_filters.rb', line 37

def rescue_from(*ex_klasses, &block)
  options = ex_klasses.last.is_a?(Hash) ? ex_klasses.pop : {}
  callable = options.delete(:with) { block }
  fail ArgumentError, 'Option :with missing from rescue_from options' if callable.nil?
  ex_klasses.each { |ex_klass| rescue_filters[ex_klass] = callable }
end