Skip to content

Instantly share code, notes, and snippets.

View jonstorer's full-sized avatar

Jonathon Storer jonstorer

View GitHub Profile
@jonstorer
jonstorer / some-model-testing.rb
Created December 6, 2011 23:50
Design testing
class Subscription
include Mongoid::Document
include Mongoid::Timestamps
belongs_to :user
before :set_calculated_day_to_notify_on
FREQUENCY_UNITS = [ "daily", "weekly", "monthly", "yearly" ]
@jonstorer
jonstorer / path_and_fetch.rb
Created January 5, 2012 19:44
Cucumber path helpers and fetch
# Step
When I go the the service page for "Netflix"
# Step Definition:
When /^I go to (.*)$/ |path|
visit path_to(path)
end
module NavigationHelpers
def path_to(page_name)
case page_name
#services
when /the list of services/
services_path
when /a new service/
new_service_path
when /edit the service named "([^"]*)"/
module NavigationHelpers
def path_to(page_name)
case page_name
#services
when /the list of services/
services_path
when /a new service/
new_service_path
when /edit the service named "([^"]*)"/
@jonstorer
jonstorer / sample1.md
Created January 24, 2012 00:22
Helpers Vs Partials

Simple example

module SomeHelper
  def percent_bar(percent, count, container_size=300)
    pixel_width = (percent / 100.0 * container_size).to_i

    render(:partial => 'shared/member_progress',
           :locals => {
             :percent     => percent.round,

:pixel_width => pixel_width,

class RenameWeightedQualityScore < Mongoid::Migration
def self.up
members.update({ '_type' => 'Member'}, { "$rename" => { "weighted_quality_score" => "decayed_quality_points_total" } })
crowd_members.update({ }, { "$rename" => { "weighted_quality_score" => "decayed_quality_points_total" } })
end
def self.down
members.update({ '_type' => 'Member' }, { "$rename" => { "decayed_quality_points_total" => "weighted_quality_score" } })
crowd_members.update({ }, { "$rename" => { "decayed_quality_points_total" => "weighted_quality_score" } })
end
describe Client, ".visit" do
subject { Factory(:client) }
let(:time) { Time.now }
it "creates a sign in timestamp if the client has not visited today" do
subject.stubs(:has_visited_today? => false)
subject.signin_timestamps.each(&:destroy)
Timecop.travel(time){ subject.visit }
def callback
#stuff
session[:lets_redirect_to_here] = "wherever"
redirect_to new_profile_url unless user.profile_complete?
session[:really_redirect_this_time] = true
end
@jonstorer
jonstorer / do_while.js
Created March 20, 2012 20:01
do while loops
do {
// stuff;
} while ( test );
@jonstorer
jonstorer / choose.rb
Created July 5, 2012 18:46
Small script to help rank the values in an array from user input
class Array
CHOOSE_OPTIONS = {'a' => -1, 'b' => 1, 'c' => 0}
def choose
self.sort! do |x, y|
answered = false
begin
puts "Which do you prefer?"
puts " (A) #{x}"
puts " (B) #{y}"
puts " (C) Neither"