module Rake::TaskManager

def make_sources(task_name, extensions)

translation procs.
Make a list of sources from the list of file name extensions /
def make_sources(task_name, extensions)
  result = extensions.map { |ext|
    case ext
    when /%/
      task_name.pathmap(ext)
    when %r{/}
      ext
    when /^\./
      task_name.ext(ext)
    when String
      ext
    when Proc, Method
      if ext.arity == 1
        ext.call(task_name)
      else
        ext.call
      end
    else
      fail "Don't know how to handle rule dependent: #{ext.inspect}"
    end
  }
  result.flatten
end