module Sprockets::Processing
def register_bundle_metadata_reducer(mime_type, key, *args, &block)
block - Proc accepting the memo accumulator and current value
initial - Initial memo to pass to the reduce funciton (default: nil)
key - Symbol metadata key
mime_type - String MIME Type. Use '*/*' applies to all types.
}
total + count
Sprockets.register_bundle_metadata_reducer 'text/css', :selector_count, 0 { |total, count|
Sprockets.register_bundle_metadata_reducer 'application/javascript', :jshint_errors, [], :+
Examples
Public: Register bundle metadata reducer function.
def register_bundle_metadata_reducer(mime_type, key, *args, &block) case args.size when 0 reducer = block when 1 if block_given? initial = args[0] reducer = block else initial = nil reducer = args[0].to_proc end when 2 initial = args[0] reducer = args[1].to_proc else raise ArgumentError, "wrong number of arguments (#{args.size} for 0..2)" end self.config = hash_reassoc(config, :bundle_reducers, mime_type) do |reducers| reducers.merge(key => [initial, reducer]) end end