Skip to content

Instantly share code, notes, and snippets.

View r3trofitted's full-sized avatar

Ronan Limon Duparcmeur r3trofitted

View GitHub Profile
@jaymcgavren
jaymcgavren / farming.rb
Last active January 23, 2024 06:54
Start of a prototype for a text adventure game.
# Untitled Text Adventure prototype.
# Copyright 2024 Jay McGavren. All rights reserved.
class Thing
attr_accessor :name
def initialize(name:)
@name = name
end
end
# Prompt:
What’s your most elegant Ruby code that does this:
* takes an array of strings and a target string
* if the target string is not in the array, return the array
* if the target string is in the array, return the array with the target string moved from its position to the end of the array.
What’s your most elegant Ruby code that does this:
* takes an array of strings and a target string
@bryanbraun
bryanbraun / git-branching-diagram.md
Last active January 14, 2026 08:24
Example Git Branching Diagram

Example Git Branching Diagram

You can use this diagram as a template to create your own git branching diagrams. Here's how:

  1. Create a new diagram with diagrams.net (formerly draw.io)
  2. Go to File > Open From > URL
  3. Insert this url (it points to the xml data below): https://gist.githubusercontent.com/bryanbraun/8c93e154a93a08794291df1fcdce6918/raw/bf563eb36c3623bb9e7e1faae349c5da802f9fed/template-data.xml
  4. Customize as needed for your team.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>homebrew.mxcl.elasticsearch</string>
<key>ProgramArguments</key>
<array>
@dhh
dhh / test_induced_design_damage.rb
Last active November 2, 2024 00:52
This is an extraction from Jim Weirich's "Decoupling from Rails" talk, which explained how to apply the hexagonal design pattern to make every layer of your application easily unit testable (without touching the database etc). It only seeks to extract a single method, the EmployeesController#create method, to illustrate the design damage that's …
# Original Rails controller and action
class EmployeesController < ApplicationController
def create
@employee = Employee.new(employee_params)
if @employee.save
redirect_to @employee, notice: "Employee #{@employee.name} created"
else
render :new
end
# Option A: I'd start with this
class Micropost < ActiveRecord::Base
validate :no_profanity
private
def no_profanity
if user.minor? && profanity = profane_words_used_in_content
errors.add :content, "Profanity: '#{profanity.join(", ")}' not allowed!"
end
end
# config/routes.rb
resources :documents do
scope module: 'documents' do
resources :versions do
post :restore, on: :member
end
resource :lock
end
end
@hwdsl2
hwdsl2 / nginx.conf
Last active June 10, 2021 23:05
Actual nginx.conf for Lin's Tech Blog (http://blog.ls20.com - click for tutorial). Published with Ghost, Nginx and ModSecurity
user nginx;
# Set this to match the number of CPU cores
worker_processes 2;
events { worker_connections 1024; }
http {
server_names_hash_bucket_size 64;
types_hash_max_size 2048;
server_tokens off;
include mime.types;
default_type application/octet-stream;
@adsgray
adsgray / .gitattributes
Created January 15, 2014 16:40
.gitattributes file to encrypt Jekyll drafts
_drafts/* filter=git-crypt diff=git-crypt
@javan
javan / application_controller.rb
Created November 30, 2013 22:06
Prevent cross-origin js requests
class ApplicationController < ActionController::Base
before_filter :ensure_xhr
private
def ensure_xhr
if request.get? && request.format && (request.format.js? || request.format.json?)
head :forbidden unless request.xhr?
end
end
end