about summary refs log tree commit diff
path: root/lib/tasks/repo.rake
diff options
context:
space:
mode:
authorThibG <thib@sitedethib.com>2018-09-11 20:09:00 +0200
committerGitHub <noreply@github.com>2018-09-11 20:09:00 +0200
commit82b521b4c306d75530795bce9f6c706359e7339e (patch)
tree4ac730d5c48dfd27703e33ffab034e3266f7e0ad /lib/tasks/repo.rake
parent59de2868c13a61bce08923f841024fefebe3b3da (diff)
parentf1214f00d990612229c753d8657944a10b9bf8a1 (diff)
Merge pull request #724 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'lib/tasks/repo.rake')
-rw-r--r--lib/tasks/repo.rake30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/tasks/repo.rake b/lib/tasks/repo.rake
new file mode 100644
index 000000000..367859e94
--- /dev/null
+++ b/lib/tasks/repo.rake
@@ -0,0 +1,30 @@
+# frozen_string_literal: true
+
+namespace :repo do
+  desc 'Generate the authors.md file'
+  task :authors do
+    file = File.open('AUTHORS.md', 'w')
+    file << <<~HEADER
+      Mastodon is available on [GitHub](https://github.com/tootsuite/mastodon)
+      and provided thanks to the work of the following contributors:
+
+    HEADER
+
+    url = 'https://api.github.com/repos/tootsuite/mastodon/contributors?anon=1'
+    HttpLog.config.compact_log = true
+    while url.present?
+      response = HTTP.get(url)
+      contributors = Oj.load(response.body)
+      contributors.each do |c|
+        file << "* [#{c['login']}](#{c['html_url']})\n" if c['login']
+        file << "* [#{c['name']}](mailto:#{c['email']})\n" if c['name']
+      end
+      url = LinkHeader.parse(response.headers['Link']).find_link(%w(rel next))&.href
+    end
+
+    file << <<~FOOTER
+
+      This document is provided for informational purposes only. Since it is only updated once per release, the version you are looking at may be currently out of date. To see the full list of contributors, consider looking at the [git history](https://github.com/tootsuite/mastodon/graphs/contributors) instead.
+    FOOTER
+  end
+end