Skip to content

Instantly share code, notes, and snippets.

Factory.define :application do |factory|
factory.attachment(:sample, "public/samples/sample.doc", "application/msword")
end
@mscottford
mscottford / watir_wait.rb
Created January 7, 2010 13:43
Dynamically adds "wait_to_" variants for common watir methods. Calling these variants will force the browser to first wait for the browser to finish, and then to wait for the specified element to exist before performing the desired action.
require 'watir'
require 'watir/container'
require 'watir/element'
require 'watir/input_elements'
require 'watir/link'
def support_wait_to_methods
timeout_in_seconds = 30
original_method_missing = self.instance_method(:method_missing)
var dashes = ""; var num = 20; while(--num) dashes += "-"; setInterval(function() { window.history.pushState("", "", '/sticky-history?' + dashes.slice(0, num % 20) + "foo" + dashes.slice(num % 20)); num++;}, 100);
## /config/initializers/dynamic_job.rb
require 'heroku'
# base class for all jobs that you wish to automatically scale and go down in Heroku
class DynamicJob
#set a cap on maximum number of users ever - just in case.
MAX_CONCURRENT_WORKERS = 100
def initialize
@jarib
jarib / file.rb
Created October 6, 2010 11:27
watir page objects
require "rubygems"
require "watir-webdriver"
class BrowserContainer
def initialize(browser)
@browser = browser
end
end
#
@pgriess
pgriess / demo.py
Created December 19, 2011 01:12
Script to stream audio from Rdio
#!/bin/env python
#
# Demo tool to generate the rtmpdump(1) command for streaming a song from Rdio.
import httplib
from optparse import OptionParser
from os.path import basename
from pprint import pprint
from pyamf.remoting.client import RemotingService
from rdioapi import Rdio
for i in `hg branches |grep -v 'default' |grep -v 'develop' |grep inactive |awk 'NF>1{print $(NF-1)}'`; do hg update -r "$i" && hg commit -m "Closed branch" --close-branch; done
@morkevicius
morkevicius / gist:10549920
Last active July 13, 2016 21:54 — forked from chancancode/gist:2830878
.net ticks to ruby time, ruby time to ticks 1.8.7
class Time
# See http://msdn.microsoft.com/en-us/library/system.datetime.ticks.aspx
# https://gist.github.com/chancancode/2830878
TICKS_SINCE_EPOCH = -(Time.utc(0001, 01, 01).to_i * 10000000)
def to_ticks
utc.to_i * 10000000 + TICKS_SINCE_EPOCH # ruby 1.8.7 doesn't support nano seconds so we're ok without it
# to_i * 10000000 + nsec / 100 - TICKS_SINCE_EPOCH
# <seconds from 1970-01-01 multiplied by 10 000 000> result is ticks + <self nsec which by default would be skipped>/100 result is ticks + ticks from 0001-01-01
end
@tlrobinson
tlrobinson / google-translate-drums.js
Created November 30, 2010 06:19
A drum machine for the German Google Translate. See instructions in comments below.
(function() {
// Notes from http://news.ycombinator.com/item?id=1952531
var notes = {
"suspended cymbal":"zk",
"snare":"bschk",
"brush":"pv",
"bass":"bk",
"flam1":"tk",
"roll tap":"vk",
"flam2":"kt",
@jeffrafter
jeffrafter / factory_girl attachments for paperclip
Created May 30, 2010 13:26
factory_girl attachments for paperclip
require 'action_controller/test_process'
# Paperclip attachments in factories, made easy based on technicalpickles
Factory.class_eval do
def attach(name, path, content_type = nil)
if content_type
add_attribute name, ActionController::TestUploadedFile.new("#{RAILS_ROOT}/#{path}", content_type)
else
add_attribute name, ActionController::TestUploadedFile.new("#{RAILS_ROOT}/#{path}")
end