Skip to content

Instantly share code, notes, and snippets.

View lukeledet's full-sized avatar

Luke Ledet lukeledet

  • Revelry Labs
  • New Orleans, LA
View GitHub Profile
#!/bin/bash
# Assign and request a review from someone for a pull request
# Requires GITHUB_OAUTH_TOKEN environment variable
pr_url=""
pr_url_pattern="https://github.com/(.+)/(.+)/pull/(.+)"
while read url
do
pr_url=$url
@lukeledet
lukeledet / q
Created November 4, 2016 14:30
Format SQL results for a Google spreadsheet
#!/bin/bash
# Pipe SQL commands to this command to get them in a format ready for a Google Spreadsheet
DB=${1-$USER}
shift
QUERY=$(cat <&0)
psql --field-separator=$'\t' --no-align --pset=footer=off -c "$QUERY" "$@" $DB
@lukeledet
lukeledet / day7.exs
Created February 26, 2016 06:48
Day 7 of advent of code in elixir with infinite loop :(
require Bitwise
defmodule Circuit do
def connect(map, wire) do
instruction = Map.get(map, wire)
cond do
match = Regex.run(~r/^(\d+)$/, instruction) ->
[_, value] = match
String.to_integer(value)
@lukeledet
lukeledet / request_double.rb
Created December 14, 2015 20:57
Using hash keys to create instance variables
# Test double for a request
class RequestDouble
attr_accessor :env
def initialize hash
@env = {}
# Turn each hash entry into an instance variable
hash.each do |key, value|
instance_variable_set "@#{key}", value
@lukeledet
lukeledet / rack_attack_spec.rb
Created December 14, 2015 20:15
rack-attack spec
require 'spec_helper'
class MockRequest
attr_reader :ip, :env
def initialize hash
@ip = hash[:ip] || '127.0.0.1'
@env = hash[:env] || {}
end
end
@lukeledet
lukeledet / forgiver.rb
Created October 10, 2015 21:36
Forgiver class and tests
class Forgiver < BasicObject
attr_reader :arg
def initialize arg
@arg = arg
end
def method_missing m, *args, &block
arg.respond_to?(m) ? ::Forgiver.new(arg.send(m, *args, &block)) : self
end
@lukeledet
lukeledet / sketch.ino
Created March 30, 2015 18:08
Humidity logger
#include "DHT.h"
#include "SD.h"
#include "Wire.h"
#define DHTTYPE DHT22
#define DHTPIN 4
DHT dht(DHTPIN, DHTTYPE);
File logFile;
@lukeledet
lukeledet / config.ru
Created May 17, 2012 16:16 — forked from betawaffle/config.ru
Rack-based Local YARD Server
require 'rubygems'
require 'yard'
libs = Hash.new {|hash,key| hash[key] = [] }
base = ENV['GEM_PATH'].split(':')[1][%r{^.+(?=/.+@global$)}] rescue nil
if base
Gem.paths = {
'GEM_PATH' => Dir["#{base}/ruby-*"].join(':'),
'GEM_HOME' => ENV['GEM_HOME']
# Sometimes I wish Array#map would take an argument for the index
# I usually think about it when I'm working with a CSV file
class Array
def map(arg=nil, &block)
if arg && block_given?
self.map(arg).map(&block)
elsif arg
self.map {|x| x[arg]}
else
# String#+ appends a string, ¿por qué no los dos?
class String
def - s
self.dup[0...self.rindex(s)||self.length]
end
end