Skip to content

Instantly share code, notes, and snippets.

@yosemsweet
yosemsweet / initialization errors
Created March 24, 2011 14:53
Wherever the factories should be initialized it tries to initialize rss_feed.cfm instead
1:53:19 Information [jrpp-254] - [1 ms (1)] [/Users/yosem/workspace/suite101/custom_tags/ct_core/environment.cfc @ line: 5] - [environment] Setting environment
03/23 21:53:19 Information [jrpp-254] - [2 ms (1)] [/Users/yosem/workspace/suite101/custom_tags/ct_core/environment.cfc @ line: 11] - [environment] SUITE101_BETA_14104_21282626 - Setting server language details
03/23 21:53:19 Information [jrpp-254] - [3 ms (1)] [/Users/yosem/workspace/suite101/custom_tags/ct_core/environment.cfc @ line: 21] - [environment] SUITE101_BETA_14104_21282626 - Setting server strings
03/23 21:53:19 Information [jrpp-254] - [7 ms (4)] [/Users/yosem/workspace/suite101/custom_tags/ct_core/environment.cfc @ line: 168] - [environment] SUITE101_BETA_14104_21282626 - Setting local paths
03/23 21:53:19 Information [jrpp-254] - [9 ms (2)] [/Users/yosem/workspace/suite101/custom_tags/ct_core/environment.cfc @ line: 181] - [environment] SUITE101_BETA_14104_21282626 - Setting writer acquisition page urls
03/23 21:53:19 Information [j
@yosemsweet
yosemsweet / Updated code with cancan stubs
Created September 19, 2011 18:26
cancan ability caching issue
def should_require_authorization_of(*args, &action)
defaults = {:action => :manage, :object => nil, :not_authorized_status => 403}.merge(args.extract_options!)
options = defaults.merge(args.extract_options!)
user = Factory.build(:user)
user.stubs(:persisted?).returns(true)
controller.stubs(:current_user).returns(user)
authorize(options)
action.call
@yosemsweet
yosemsweet / authentication_tests.rb
Created September 19, 2011 20:47
Test authentication and authorization in controller specs
describe "POST create" do
it "should require authentication" do
should_require_authentication do
canvas = Factory.build(:canvas)
post :create,
:canvas => {
:name => canvas.name,
:mission => canvas.mission,
:image => canvas.image,
:open => canvas.open
@yosemsweet
yosemsweet / rspec_custom_matcher_capybara.rb
Created September 21, 2011 21:13
Capybara matchers in RSpec custom matcher
RSpec::Matchers.define :have_widget_elements_for do |widget|
match do |actual|
puts actual.to_yaml
@errors = {}
expected_elements = {
:widget => ".widget",
:content_type => ".#{widget.content_type}",
:body => ".body",
:title => ".title",
@yosemsweet
yosemsweet / .bashrc
Created October 5, 2011 01:57
.bashrc file
#Your normal .bashrc code should go here
# adding RVM
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.
# Use current directory bin path first
export PATH=./bin/$PATH
#load bash bash colours and git completion for a pretty and efficient workflow
source ~/bash-colours.sh
@yosemsweet
yosemsweet / gist:9263084
Created February 28, 2014 01:02
Rooster - Apply Discount on Interaction
<script>
function onInteraction(e) {
// Run the discount code here.
// Important - interaction events can happen multiple times with a given overlay so
// you'll want to ensure the discount is only applied once.
}
$(window).on('message', function(e) {
// Make sure the message is coming from Rooster
if (e.originalEvent.origin + '/' !== window.location.protocol + _GT_config.gt_host) {
@yosemsweet
yosemsweet / gist:9519360
Created March 13, 2014 00:08
Left align contents of a <pre><code> tag.
$('pre > code').each(function(index) {
var _this = $(this);
var text = _this.text();
lines = text.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/);
indent = 0;
var firstCharFinder = /^\s*\S/i;
var leftTrimLength = 0;
var contentStarted = false;
adjusted_lines = $.map(lines, function(line, i) {
if(!contentStarted) {
%!TEX TS-program = xelatex
\documentclass[12pt]{scrartcl}
% The declaration of the document class:
% The second line here, i.e.
% \documentclass[12pt]{scrartcl}
% is a standard LaTeX document class declaration:
% we say what kind of document we are making in curly brackets,
% and specify any options in square brackets.
@yosemsweet
yosemsweet / gist:c62454f52542ee8cd6e2
Created July 4, 2014 15:58
mongoose uptime remote mongo issue
Mongoose: pings.ensureIndex({ timestamp: -1 }) { safe: undefined, background: true }
Mongoose: checkevents.ensureIndex({ timestamp: -1, check: 1 }) { safe: undefined, background: true }
Mongoose: checkhourlystats.ensureIndex({ timestamp: -1, check: 1 }) { safe: undefined, background: true, unique: true }
Mongoose: checkdailystats.ensureIndex({ timestamp: -1, check: 1 }) { safe: undefined, background: true, unique: true }
Mongoose: checkmonthlystats.ensureIndex({ timestamp: -1, check: 1 }) { safe: undefined, background: true, unique: true }
Mongoose: checkyearlystats.ensureIndex({ timestamp: -1, check: 1 }) { safe: undefined, background: true, unique: true }
Mongoose: taghourlystats.ensureIndex({ timestamp: -1, name: 1 }) { safe: undefined, background: true, unique: true }
Mongoose: tagdailystats.ensureIndex({ timestamp: -1, name: 1 }) { safe: undefined, background: true, unique: true }
Mongoose: tagmonthlystats.ensureIndex({ timestamp: -1, name: 1 }) { safe: undefined, background: true, unique: true }
Mongoos
@yosemsweet
yosemsweet / gist:fd24366d28e5185362d2
Last active August 29, 2015 14:11
feature flagging concept
# ---
# Doorman is yet another feature flipper. You can use Doorman to limit access
# of features on a global or per object scale to specific users or accounts.
#
# Doorman uses Rolify to store state and keeps the global list of features
# in Redis (or maybe in PG - depending on what's easier).
#
# :section Example Usage
#
# Setting up instructions