/
Rakefile
38 lines (32 loc) · 993 Bytes
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#require 'bundler/setup';
#Bundler.setup(:default, :development)
require 'bundler'
require 'rubygems/package_task'
Bundler::GemHelper.install_tasks
spec = Gem::Specification.load(Dir["*.gemspec"].first)
Gem::PackageTask.new(spec) do |p|
p.need_zip = true
p.need_tar = true
end
require 'rspec/core/rake_task'
desc "Run all RSpec tests"
RSpec::Core::RakeTask.new(:spec) do |t|
t.rspec_opts = ['--color']
end
desc "Regenerate contributors file."
task :contributors do
# probably some better way to get the author name, however using just 'git log' didn't include it
authors = %x{git log --pretty=format:"%an"}.split("\n")
results = authors.reduce(Hash.new) do |results, line|
name = line.sub(/^Author: (.+) <.+>$/, '\1')
results[name] ||= 0
results[name] += 1
results
end
results = results.sort_by { |_, count| count }.reverse
File.open("CONTRIBUTORS", "w") do |file|
results.each do |name, count|
file.puts "#{name}: #{count}"
end
end
end