Skip to content

Instantly share code, notes, and snippets.

{:name => "John"}.factorbate :user do |parent|
activate!
{:body => "Your mom!"}.factorbate :comments, self
end
@tpope
tpope / find_first_or_nil.rb
Last active September 14, 2015 23:34 — forked from johana-star/find_first_or_nil.rb
A way to fing the first thing that matches or set to nil
grading_period = @context.courses.detect do |course|
gp = GradingPeriod.context_find(course, params[:grading_period_id]) and break gp
end
grading_period = @context.courses.map do |course|
GradingPeriod.context_find(course, params[:grading_period_id])
end.compact.first
class SettingsController < ApplicationController
expose(:setting)
def update
setting.save
respond_with setting, :location => settings_path
end
end
ActionDispatch::Routing::PolymorphicRoutes.module_eval do
def polymorphic_url_with_hierarchy(record, options={})
record = record.hierarchy if record.respond_to?(:hierarchy)
polymorphic_url_without_hierarchy(record, options)
end
alias_method_chain :polymorphic_url, :hierarchy
end
ActionView::Helpers::FormHelper.module_eval do
def form_for_with_hierarchy(object, *args, &block)
source 'http://rubygems.org'
gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'arel', :git => 'git://github.com/rails/arel.git'
gem 'hike', :git => 'git://github.com/sstephenson/hike.git'
gem 'sprockets', :git => 'git://github.com/sstephenson/sprockets.git'
gem 'rack', :git => 'git://github.com/rack/rack.git'
gem 'rack-ssl', :git => 'git://github.com/josh/rack-ssl.git'
gem 'rack-cache', :git => 'git://github.com/rtomayko/rack-cache.git'
@tpope
tpope / uploads_controller.rb
Created April 18, 2011 02:27
Carrierwave on Heroku
class UploadsController < ApplicationController
def show
headers['Cache-Control'] = 'public; max-age=600'
send_file Rails.root.join("tmp/uploads/#{params[:path]}"), :disposition => 'inline'
end
end
@tpope
tpope / account.html.haml
Created May 15, 2011 15:01
Our designers are way more clever than your designers
%fieldset.account_info
- ["First Name","Last Name","Email","Choose Password"].each do |n|
%dl.half
%dt
%label{:class => cycle("required", "", "required", "required")}=n
%dd
%input(type="text")
@tpope
tpope / gist:1167200
Created August 24, 2011 02:52
Use .rbenv-version with RVM
# ~/.rvm/hooks/after_cd
local dir="$PWD"
while [ "$(dirname "$dir")" != "$dir" ]; do
if [ -f "$dir/.rbenv-version" ]; then
rvm use "$(cat "$dir/.rbenv-version")"
break
fi
dir="$(dirname "$dir")"
@tpope
tpope / gist:1169556
Created August 24, 2011 23:17
rvm --trace use 1.9.3-preview1@unknown
+__rvm_parse_args:727> [[ -n 4.3.10 ]]
+__rvm_parse_args:750> [[ -z '' && -n '' ]]
+__rvm_parse_args:752> [[ 0 -eq 1 || -n '' ]]
+__rvm_parse_args:20> [[ -n use ]]
+__rvm_parse_args:22> rvm_token=use
+__rvm_parse_args:24> (( 1 > 0 ))
+__rvm_parse_args:26> next_token=1.9.3-preview1@unknown
+__rvm_parse_args:27> shift
+__rvm_parse_args:32> case use ([[:alnum:]]*|@*)
+__rvm_parse_args:36> case use (use)