Skip to content

Instantly share code, notes, and snippets.

Philippe Creux pcreux

Block or report user

Report or block pcreux

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
pcreux / circleci-trace
Created Nov 21, 2019
Generate a trace of your circleci workflows
View circleci-trace
#!/usr/local/env ruby
# Generate html traces from CircleCI workflows
require 'json'
require 'http'
OWNER = 'githubowner'
REPO = 'githubrepo'
pcreux / format_bundle_outdated.rb
Created May 31, 2019
Format 'bundle outdated' into a CSV file ordered by version delta
View format_bundle_outdated.rb
#!/usr/bin/env ruby
# Run `bundle outdated | format_bundle_outdated`
# to get a CSV file listing the columns below for all outdated gems.
COLUMNS = [ "name", "newest", "installed", "requested", "groups", "delta" ].join(",")
class Version <, :minor, :patch, :beta)
pcreux / 000 Oh no conditionals!.png
Last active Jun 6, 2018
Turning imperative conditionals into declarative rules
pcreux / Gemfile
Created Apr 19, 2018
Minimal setup to run a static site on Heroku.
View Gemfile
# no ruby gems required
pcreux / extract-migration
Created Oct 6, 2017
Extract all new migrations from the current branch over to a new branch (suffixed with "-migration")
View extract-migration
# Extract all new migrations from the current branch over to a new branch (suffixed with "-migration")
set -ev
export branch=`git rev-parse --abbrev-ref HEAD`
git checkout master
git pull
git checkout -b $branch-migration
git checkout $branch -- db engines/*/db
pcreux / rtt
Last active Nov 3, 2017
Run tests for all changed app, lib and test files
View rtt
#!/usr/bin/env ruby
# Run unit test for all added or changed app, lib and test files.
# Ex:
# * `rtt` will run tests for all files changed since the last commit
# * `rtt master` will run tests for all files different from master
if ARGV[0]
files = `git diff --name-only $(git merge-base HEAD #{ARGV[0]})..$(git rev-parse --abbrev-ref HEAD)`.split("\n")
files = `git status -s`.split("\n").map { |f| f.split(' ').last }
pcreux / mktest
Created Jun 14, 2017
Generate a test file. `mktest app/models/user.rb` => `test/models/user_test.rb`
View mktest
#!/usr/bin/env ruby
DESC = "
Generate test file
Example: mktest app/services/user/create.rb will generate test/services/user/create_test.rb
pcreux /
Last active May 14, 2018
Robust Rails Apps - VanRuby - March 29, 2017

Robust Rails Apps

Philippe Creux - @pcreux

#vanruby - March 29th, 2017

pcreux / 99bottles.rb
Last active Jan 16, 2020
99bottles in 15 minutes. Feeling a bit dizzy now... 🍻 `git clone --depth=1 --branch=exercise`
View 99bottles.rb
class Bottles
def verse(current)
#{bottles(current).capitalize} of beer on the wall, #{bottles(current)} of beer.
#{take_one_down(current)}, #{bottles((current - 1) % 100)} of beer on the wall.
def verses(start, finish)
(finish..start) { |number| verse(number) }.join("\n")
View rotate-aws-access-keys.rb
#!/usr/bin/env ruby
require 'json'
# 1. Generate new access key
new_access_key_json = `aws iam create-access-key`
new_access_key_attributes = JSON.parse(new_access_key_json).fetch("AccessKey")
new_access_key_id = new_access_key_attributes.fetch("AccessKeyId")
You can’t perform that action at this time.