Skip to content

Instantly share code, notes, and snippets.

View kylefox's full-sized avatar

Kyle Fox kylefox

View GitHub Profile
def foo(bar):
return bar.baz()
# It would be awesome if factory_girl let you specify multiple parent factories.
Factory.define :user do |f|
# normal factory definition ...
Factory.define :superuser, :parent => :user do |f|
f.is_superuser true
<!-- Old way: .themeContent has styles directly attached to it -->
<style type="text/css" media="screen">
.themeContent {
margin-top: 300px;
width: 760px;
border: 1px solid #ff0066;
.themeContent h1 { ... }
.themeContent p { ... }
/* Old: Because the editor doesn't have the .themeBody class, the editor
doesn't display the theme's font definition */
background:#ccc url({{ image_path_prefix }}bg.png) repeat-x;
font-family: "Lucida Grande", Arial, Helvetica, sans-serif;
/* New: the font styles will now apply to the editor as well */
kylefox / gist:211989
Created October 16, 2009 19:14
Add git branch name and status to your shell prompt
# If the current directory is a git repository, this displays [branch_name] and,
# if there are uncommitted changes, an asterisk.
# Example:
# ~/projects/my_project[master*]:
# I should also point out this uses my own hot pink & teal shell colour scheme (best viewed on white background).
# Change the colours if you don't like pretty things.
function parse_git_dirty {
We couldn’t find that file to show.
kylefox / gist:221668
Created October 29, 2009 18:19
Faster tests with Should & FactoryGirl
# Very contrived example of how using class variables to hold expensive models/associations
# can drastically speed up tests when using Shoulda and FactoryGirl.
# One caveat is that your test cases are no longer truly isolated. That is, if your
# test case modifies one of the "cached" instances, subsequent test cases may be invalid.
# You should only store models as class variables if:
# 1) Your test cases do not modify their data, and
# 2) The data contained in the cached models isn't vital to your test case.
class TaskTest < ActiveSupport::TestCase
# A StudentExam represents an Exam taken by a Student.
# It records the start/stop time, room number, etc.
class StudentExamTest < ActiveSupport::TestCase
should_belong_to :student
should_belong_to :exam
setup do
# These objects need to be created before we can create a StudentExam. Tests will NOT modify these objects.
# @school is a very time-expensive model to create (associations, external API calls, etc).
Factory.define :multiple_choice_item, :class => MultipleChoiceItem do |mc_item|
mc_item.association :site
mc_item.text Yardstick::DummyData::LOREM
mc_item.item_type "MultipleChoiceItem"
mc_item.max_choices 1
mc_item.shuffle_choices false
choices = [
"Mauris euismod lor nisi, cursus eget laoreet eget laoreet mauris sit amet feugiat. Nullam non blandit urna. Sed et ultricies quam.",
"Duis dolor nisi, cursus eget laoreet eget, pellentesque vitae era non blandit urna sed et ultricies quam.",
"Vestibulum bibendum, metus in vehicula imperdiet",
require 'test_helper'
class PasswordResetTest < ActionController::IntegrationTest
def setup
@site = Factory(:site, :short_name => "example") => '', :activated =>
@user = Factory(:user, :site => @site)
Factory(:alpha_theme, :site => @site, :activated_at =>, :html_template => "{{page.content}}")