Class: Hayrick::FilterRepository

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/hayrick/filter_repository.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(default_filter = DefaultFilterGenerator.new) ⇒ FilterRepository

Returns a new instance of FilterRepository.



10
11
12
# File 'lib/hayrick/filter_repository.rb', line 10

def initialize(default_filter = DefaultFilterGenerator.new)
  @default_filter = default_filter
end

Instance Attribute Details

#default_filterObject (readonly)

Returns the value of attribute default_filter.



8
9
10
# File 'lib/hayrick/filter_repository.rb', line 8

def default_filter
  @default_filter
end

Instance Method Details

#add(name, callable) ⇒ Object



14
15
16
# File 'lib/hayrick/filter_repository.rb', line 14

def add(name, callable)
  merge!(name.to_sym => callable)
end

#allObject



18
19
20
21
22
# File 'lib/hayrick/filter_repository.rb', line 18

def all
  @filters ||= Hash.new do |_, keyword|
    default_filter.call(keyword)
  end
end