Skip to content

Instantly share code, notes, and snippets.

Kyle Fox kylefox

Block or report user

Report or block kylefox

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View gist:109354
def foo(bar):
return bar.baz()
View multiple_inheritance_factory_girl.rb
# It would be awesome if factory_girl let you specify multiple parent factories.
Factory.define :user do |f|
# normal factory definition ...
end
Factory.define :superuser, :parent => :user do |f|
f.is_superuser true
end
View gist:122614
<!-- 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 { ... }
</style>
View gist:122617
/* Old: Because the editor doesn't have the .themeBody class, the editor
doesn't display the theme's font definition */
body.themeBody{
background:#ccc url({{ image_path_prefix }}bg.png) repeat-x;
margin:0;
font-family: "Lucida Grande", Arial, Helvetica, sans-serif;
}
/* New: the font styles will now apply to the editor as well */
@kylefox
kylefox / gist:211989
Created Oct 16, 2009
Add git branch name and status to your shell prompt
View gist:211989
# 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
kylefox / gist:221668
Created Oct 29, 2009
Faster tests with Should & FactoryGirl
View gist:221668
# 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
View really_slow_test.rb
# 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).
View factory_girl_suckz.rb
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",
View test.rb
require 'test_helper'
class PasswordResetTest < ActionController::IntegrationTest
def setup
@site = Factory(:site, :short_name => "example")
@site.domains.create(:name => 'www.example.com', :activated => Time.now.utc)
@user = Factory(:user, :site => @site)
@user.password
Factory(:alpha_theme, :site => @site, :activated_at => Time.now.utc, :html_template => "{{page.content}}")
You can’t perform that action at this time.