Skip to content

Instantly share code, notes, and snippets.

View m1foley's full-sized avatar

Michael Foley m1foley

View GitHub Profile
@m1foley
m1foley / bach.sh
Last active December 20, 2022 04:46
Play a random Bach piece on YouTube
ruby -e '`open https://duckduckgo.com/?q=!ducky+bach+bwv+#{rand(1..1126)}+-gould+site%3Ayoutube.com`'
@m1foley
m1foley / signup.rb
Last active January 31, 2018 22:51
Form object with error handling
class Signup
include ActiveModel::Model
attr_accessor :email, :team_name
validates :email, presence: true
validates :team_name, presence: true
def save
return false unless valid?
@m1foley
m1foley / gist:2948b486cf23e16040c5
Last active December 18, 2015 13:55
FactoryGirl vs. Fixtures speed test
require "rails_helper"

describe "Speed Test" do
  it "uses fixtures" do
    10.times do
      users(:brad)
    end
  end
module SignalTrapper
def self.trap(*args, &block)
Signal.trap(*args, &block)
end
def self.trap_or_warn(*args, &block)
trap(*args, &block)
rescue ArgumentError => e
warn e
end
class FooController < ApplicationController
before_filter :user_required!
before_filter :admin_required!, :only => [:secret]
def not_secret
end
def secret
end
end
def redefine_constant(full_const_name, value)
parent_class, const_name = *parse_constant_namespace(full_const_name)
orig = parent_class.const_get(const_name).dup
parent_class.send(:remove_const, const_name)
parent_class.const_set(const_name, value)
yield
parent_class.send(:remove_const, const_name)
@m1foley
m1foley / resque_inline_with_block.rb
Last active December 11, 2015 22:18
Before/after of Resque#inline accepting block
# Current: Resque#inline without block
begin
Resque.inline = true
Resque.enqueue 'Job'
ensure
Resque.inline = false
end
# New: Resque#inline with block
Resque.inline do