1
0
mirror of https://github.com/meineerde/rackstash.git synced 2026-02-11 13:05:19 +00:00

Refactor: extract checks in FilterChain

This commit is contained in:
Holger Just 2017-08-05 15:47:17 +02:00
parent 79fbd6fe97
commit 8c7900f17b

View File

@ -63,7 +63,7 @@ module Rackstash
# @param filter [#call, nil] the filter to set at `index`
# @return [#call] the given `filter`
def []=(index, filter)
raise TypeError, 'must provide a filter' unless filter.respond_to?(:call)
filter = build_filter(filter)
synchronize do
id = index_at(index)
@ -86,8 +86,7 @@ module Rackstash
# @raise [TypeError] if the given filter is not callable
# @return [self]
def append(filter = nil, &block)
filter ||= block
raise TypeError, 'must provide a filter' unless filter.respond_to?(:call)
filter = build_filter(filter || block)
synchronize do
@filters.push filter
@ -180,8 +179,7 @@ module Rackstash
# @raise [ArgumentError] if the existing filter could not be found
# @return [self]
def insert_after(index, filter = nil, &block)
filter ||= block
raise TypeError, 'must provide a filter' unless filter.respond_to?(:call)
filter = build_filter(filter || block)
synchronize do
id = index_at(index)
@ -210,8 +208,7 @@ module Rackstash
# @raise [ArgumentError] if the existing filter could not be found
# @return [self]
def insert_before(index, filter = nil, &block)
filter ||= block
raise TypeError, 'must provide a filter' unless filter.respond_to?(:call)
filter = build_filter(filter || block)
synchronize do
id = index_at(index)
@ -250,8 +247,7 @@ module Rackstash
# @raise [TypeError] if the given filter is not callable
# @return [self]
def unshift(filter = nil, &block)
filter ||= block
raise TypeError, 'must provide a filter' unless filter.respond_to?(:call)
filter = build_filter(filter || block)
synchronize do
@filters.unshift filter
@ -295,5 +291,11 @@ module Rackstash
@filters.index { |filter| filter == index }
end
end
def build_filter(filter)
raise TypeError, 'must provide a filter' unless filter.respond_to?(:call)
filter
end
end
end