Sha256: df140ab31d771e314c17691aa71ed4a7a43ee10812f30f1e9beb0378b720e171

Contents?: true

Size: 1.29 KB

Versions: 1

Compression:

Stored size: 1.29 KB

Contents

# Once git has a fix for the glibc in handling .mailmap and another fix for
# allowing empty mail address to be mapped in .mailmap we won't have to handle
# them manually.

desc 'Update AUTHORS'
task :authors do
  authors = Hash.new(0)

  `git shortlog -nse`.scan(/(\d+)\s(.+)\s<(.*)>$/) do |count, name, email|
    # Examples of mappping, replace with your own or comment this out/delete it
    case name
    when /^(?:bougyman$|TJ Vanderpoel)/
      name, email = "TJ Vanderpoel", "tj@rubyists.com"
    when /^(?:manveru$|Michael Fellinger)/
      name, email = "Michael Fellinger", "mf@rubyists.com"
    when /^(?:deathsyn$|Kevin Berry)/
      name, email = "Kevin Berry", "kb@rubyists.com"
    when /^(?:(?:jayson|thedonvaughn|jvaughn)$|Jayson Vaughn)/
      name, email = "Jayson Vaughn", "jv@rubyists.com"
    when /^(?:rubyists@rubyists.com)/
      name, email = "The Rubyists, LLC", "rubyists@rubyists.com"
    end

    authors[[name, email]] += count.to_i
  end

  File.open('AUTHORS', 'w+') do |io|
    io.puts "Following persons have contributed to #{GEMSPEC.name}."
    io.puts '(Sorted by number of submitted patches, then alphabetically)'
    io.puts ''
    authors.sort_by{|(n,e),c| [-c, n.downcase] }.each do |(name, email), count|
      io.puts("%6d %s <%s>" % [count, name, email])
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
seedling-0.0.6 lib/templates/core/tasks/authors.rake