Skip to content

Instantly share code, notes, and snippets.

View benmacleod's full-sized avatar

Ben MacLeod benmacleod

  • Melbourne, Australia
View GitHub Profile
@benmacleod
benmacleod / Gemfile
Last active August 29, 2015 14:14
Adding CORS support to a Ruby on Rails app working with a Squawkbox editor session
source 'https://rubygems.org'
gem 'rails'
# etc, etc.
gem 'rack-cors', require: 'rack/cors'
# This is what my params looks like
{:group_id=>86,
:payer_id=>1982,
:account_type=>"standard",
:sms_credit_price_ex_tax=>"0.025",
:auto_purchase_sms_credits_amount=>1000,
:setup_invoice=>true,
:locale=>"en-GB",
:timezone=>"London",
#!/usr/bin/ruby
require 'rubygems'
require 'json'
require 'yaml'
require 'rest-client'
require 'active_support/all'
require 'readline'
class Pullr
DEBUG = true
@benmacleod
benmacleod / gist:1300414
Created October 20, 2011 04:26
Kill your rogue Rails server so you can start another
# Assuming it's running on port 3000
kill -9 `lsof -i :3000|awk 'NR > 1 {print $2}' -|uniq`
@benmacleod
benmacleod / mongo.rb
Created October 25, 2011 15:53
Connection code
require 'mongo/retry'
require 'mongo/retry_replica_set_connection'
if ENV['MONGOHQ_REPLICASET_URL']
# MongoMapper.config = {RAILS_ENV => {'uri' => ENV['MONGOHQ_REPLICASET_URL']}}
parser = Mongo::URIParser.new(ENV['MONGOHQ_REPLICASET_URL']) #* begin
MongoMapper.config = {
RAILS_ENV => {
'uri' => nil,
'hosts' => parser.nodes,
@benmacleod
benmacleod / .autotest
Created January 19, 2012 06:29
Autotest
#!/usr/bin/env ruby
#require 'redgreen/autotest'
AUTOTEST_IMAGE_PATH = File.dirname(File.symlink?(__FILE__) ? File.readlink(__FILE__) : File.expand_path(__FILE__))
module Autotest::Notify
def self.notify title, msg, img, urgency='low'
system "notify-send -c autotest -i #{img.inspect} #{title.inspect} #{msg.inspect}"
end
Autotest.add_hook :ran_command do |autotest|
@benmacleod
benmacleod / gist:4064150
Created November 13, 2012 05:35
Specs for validations using #send
describe "#has_no_duplicates" do
before do
account = Fabricate :account
@contact = Fabricate.build :contact, account: account, locale: account.locale
end
it "should add errors if there are duplicates" do
@contact.stub(:duplicates).and_return [mock(Contact, details: {email_address: 'foo', mobile_number: 'bar'})]
@contact.send(:has_no_duplicates)
@contact.errors.should be_present
Feature: App Jasmine specs
@javascript
Scenario: App Jasmine specs passing
Given I am on the jasmine page
Then I should not see the text "Failing"
@current_company ||= (current_user.accessible_companies.find_by_id(session[:current_company_id]) if session[:current_company_id]) || current_user.companies.first
@benmacleod
benmacleod / gist:6374314
Last active December 21, 2015 22:19 — forked from radar/gist:6374310
def self.find_by_id_or_first(id)
(id && where(:id => id).first) || first
end
# or...
def self.find_by_id_or_first(id)
order("id = #{id.to_i} DESC").first
end