# File lib/nanoc/helpers/filtering.rb, line 31 def filter(filter_name, arguments={}, &block) # Capture block data = capture(&block) # Find filter klass = Nanoc::Filter.named(filter_name) raise Nanoc::Errors::UnknownFilter.new(filter_name) if klass.nil? filter = klass.new(@item_rep.assigns) # Filter captured data Nanoc::NotificationCenter.post(:filtering_started, @item_rep, filter_name) filtered_data = filter.setup_and_run(data, arguments) Nanoc::NotificationCenter.post(:filtering_ended, @item_rep, filter_name) # Append filtered data to buffer buffer = eval('_erbout', block.binding) buffer << filtered_data end