CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Thu, 21 Aug 2025 07:52:51 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20100124184523
location: https://web.archive.org/web/20100124184523/https://github.com/thoughtbot/enforcer
server-timing: captures_list;dur=0.815939, exclusion.robots;dur=0.025643, exclusion.robots.policy;dur=0.011239, esindex;dur=0.017166, cdx.remote;dur=45.133889, LoadShardBlock;dur=268.819762, PetaboxLoader3.datanode;dur=61.875114, PetaboxLoader3.resolve;dur=144.083180
x-app-server: wwwb-app212
x-ts: 302
x-tr: 374
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app212; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Thu, 21 Aug 2025 07:52:51 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.7.61
x-archive-orig-date: Sun, 24 Jan 2010 18:45:23 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-etag: "8a7151964b58817cdf84cf23ad470446"
x-archive-orig-x-runtime: 93ms
x-archive-orig-content-length: 26011
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Sun, 24 Jan 2010 18:45:23 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Thu, 27 Aug 2009 14:50:53 GMT", ; rel="prev memento"; datetime="Thu, 03 Dec 2009 03:58:41 GMT", ; rel="memento"; datetime="Sun, 24 Jan 2010 18:45:23 GMT", ; rel="next memento"; datetime="Thu, 25 Feb 2010 12:45:25 GMT", ; rel="last memento"; datetime="Wed, 23 Dec 2020 23:51:03 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 51_13_20100124121125_crawl103_IndexOnly-c/51_13_20100124184412_crawl101.arc.gz
server-timing: captures_list;dur=0.628553, exclusion.robots;dur=0.020575, exclusion.robots.policy;dur=0.009220, esindex;dur=0.012130, cdx.remote;dur=15.850814, LoadShardBlock;dur=209.470168, PetaboxLoader3.datanode;dur=101.254368, PetaboxLoader3.resolve;dur=193.012848, load_resource;dur=144.084997
x-app-server: wwwb-app212
x-ts: 200
x-tr: 435
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
thoughtbot's enforcer at master - GitHub
This service is courtesy of Pledgie.
thoughtbot / enforcer
- Source
- Commits
- Network (2)
- Issues (2)
- Downloads (3)
- Wiki (1)
- Graphs
-
Branch:
master
-
Branches (1)
- master ✓
- Tags (3)
Sending Request…
Enable Donations
Pledgie Donations
Once activated, we'll place the following badge in your repository's detail box:
You laugh at me, you bastard, and I'll shoot you where you stand. — Read more
enforcer /
name | age | message | |
---|---|---|---|
![]() |
.document | Mon Jul 13 06:26:03 -0700 2009 | Initial commit to enforcer. [qrush] |
![]() |
.gitignore | Mon Jul 13 06:26:03 -0700 2009 | Initial commit to enforcer. [qrush] |
![]() |
LICENSE | Mon Jul 13 06:31:49 -0700 2009 | This is totally not my fault [qrush] |
![]() |
README.rdoc | Fri Jan 08 12:35:50 -0800 2010 | Adding some docs about postreceive urls, bumpin... [qrush] |
![]() |
Rakefile | Fri Jan 08 08:44:44 -0800 2010 | Act like a grownup gem [qrush] |
![]() |
bin/ | Mon Jul 20 08:18:13 -0700 2009 | Whipping up a simple executable [qrush] |
![]() |
enforcer.gemspec | Mon Jan 11 09:06:02 -0800 2010 | Bumping the gemspec date since this version was... [qrush] |
![]() |
features/ | Fri Jan 08 12:23:45 -0800 2010 | Setting multiple hook urls [qrush] |
![]() |
lib/ | Fri Jan 08 12:35:50 -0800 2010 | Adding some docs about postreceive urls, bumpin... [qrush] |
![]() |
test/ | Fri Jan 08 12:23:45 -0800 2010 | Setting multiple hook urls [qrush] |
README.rdoc
enforcer
A simple way to manage permissions on GitHub.
usage
Create an enforcer script and then run it with the "enforcer" executable.
enforcer my_enforcer_script.rb
howto
The DSL should be formed like such:
Enforcer "your github account", "your github api key" do project "project", "user1", "user2", "user3" postreceive "project", "https://rdoc.info/projects/update", "https://example.com/post" end
The users passed into the project are then set as the collaborators. Any users not listed are removed. You can also set postreceive URLs as well.
advanced
You could use a GitHub API wrapper like Octopi to load up your projects. Here’s a more complex example:
require 'octopi' include Octopi account = "thoughtbot" token = "deadbeef" Enforcer account, token do authenticated_with account, token do |github| @projects = github.user.repositories.map { |repo| repo.name }.sort end users = %w[user1 user2 user3] @projects.each do |name| project name, *users end end
legal
Copyright © 2009 thoughtbot. See LICENSE for details.