class PuppetGenerator::Middleware::ApplyExportFilters

Public Class Methods

new(app) click to toggle source
# File lib/puppet_generator/middleware/apply_export_filters.rb, line 5
def initialize(app)
  @app = app
end

Public Instance Methods

call(task) click to toggle source
# File lib/puppet_generator/middleware/apply_export_filters.rb, line 9
def call(task)
  PuppetGenerator.logger.debug(self.class.name){ "Filter the output with filter \"#{task.meta[:requested_export_filter].join(", ")}\"" }

  task.body = apply_filters(task.meta[:requested_export_filter], task.body)

  PuppetGenerator.logger.debug(self.class.name) { "Count output lines: #{task.body.size}" }

  @app.call(task)
end

Private Instance Methods

apply_filters(filters, data, &block) click to toggle source
# File lib/puppet_generator/middleware/apply_export_filters.rb, line 21
def apply_filters(filters, data, &block)

  filters.inject(data) do |data,filter|
    active_filter = Models::ExportFilter.find filter
    raise Exceptions::UnknownExportFilter unless active_filter

    data = active_filter.convert(data)
  end
end