Class: CheeseCloth::FilterList

Inherits:
Object
  • Object
show all
Defined in:
lib/cheesecloth/filter_list.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(instance) ⇒ FilterList

Returns a new instance of FilterList.



6
7
8
9
# File 'lib/cheesecloth/filter_list.rb', line 6

def initialize(instance)
  @instance = instance
  @filters = []
end

Instance Attribute Details

#filtersObject (readonly)

Returns the value of attribute filters.



4
5
6
# File 'lib/cheesecloth/filter_list.rb', line 4

def filters
  @filters
end

#instanceObject (readonly)

Returns the value of attribute instance.



4
5
6
# File 'lib/cheesecloth/filter_list.rb', line 4

def instance
  @instance
end

Instance Method Details

#add_filter(conditions, block) ⇒ Object



11
12
13
# File 'lib/cheesecloth/filter_list.rb', line 11

def add_filter(conditions, block)
  @filters << Filter.new(conditions, block)
end

#run_filters(instance) ⇒ Object



15
16
17
18
19
# File 'lib/cheesecloth/filter_list.rb', line 15

def run_filters(instance)
  runnable_filters_on(instance).each do |filter|
    instance.scope = filter.run(instance)
  end
end