Skip to content

Instantly share code, notes, and snippets.

View bradleypriest's full-sized avatar

Bradley Priest bradleypriest

View GitHub Profile
@bradleypriest
bradleypriest / arel_scopes.rb
Created September 18, 2011 08:27
Arel Scopes
module ArelScopes
extend ActiveSupport::Concern
module ClassMethods
# Create chainable arel scopes
# Example:
# class Post
# arel_scope :published, lambda { arel_table[:published_at].gteq(Time.now) }
# arel_scope :written_by, lambda { |user| arel_table[:author_id].eq(user.id) }
@bradleypriest
bradleypriest / assets.rake
Created September 21, 2011 08:49
Monkey-Patch rake assets:precompile to get Devise to work with Heroku
Rake::Task['assets:precompile'].clear
namespace :assets do
desc "Compile all the assets named in config.assets.precompile"
task :precompile do
# We need to do this dance because RAILS_GROUPS is used
# too early in the boot process and changing here is already too late.
if ENV["RAILS_GROUPS"].to_s.empty? || ENV["RAILS_ENV"].to_s.empty?
ENV["RAILS_GROUPS"] ||= "assets"
@bradleypriest
bradleypriest / solarized (dark) theme.css
Created November 14, 2011 21:56
JSONView Solarized (Dark) theme
body {
white-space: pre;
font-family: monospace;
font-family: inconsolata;
background: #042029;
color: #819090;
}
.property {
font-weight: normal;
@bradleypriest
bradleypriest / jasmine.yml
Created February 27, 2012 22:41
Using Jammit packages in Jasmine
src_files:
- public/javascripts/lib/jquery/jquery.js
# jammit_packages
#
# See jasmine_config.rb
jammit_packages:
- head
- common
@bradleypriest
bradleypriest / active_record.rb
Created March 22, 2012 20:01 — forked from jcf/active_record.rb
Backport pluck to Rails 3.0/3.1
# config/initializers/extensions/active_record.rb
module ActiveRecord
class Base
class << self
delegate :pluck, to: :scoped
end
end
class CollectionProxy
delegate :pluck, to: :scoped
require 'oauth2'
require 'foursquare2'
class FoursquareBot
BURGER_FUEL_PARNELL_ID = "4b3992a0f964a520d05d25e3"
attr_accessor :client
def initialize(token)
@client = Foursquare2::Client.new(:oauth_token => token)
end
@bradleypriest
bradleypriest / convert_hex_to_rgb.py
Created April 4, 2012 00:00
Convert Hex To RGB Sublime Plugin
# Add a key binding to your User Key Bindings and you're all good to go
# { "keys": ["super+shift+h"], "command": "convert_hex_to_rgb" }
#
import sublime, sublime_plugin
class ConvertHexToRgb(sublime_plugin.TextCommand):
def run(self, edit):
for region in self.view.sel():
if not region.empty():
App.ObjectWatcher = Ember.Object.create({
methodCounter: 0,
observeOnce: function(object, property, callback) {
var aroundCallbackName, callbackName;
callbackName = "_method" + (this.methodCounter++);
aroundCallbackName = callbackName.slice(1);
this[callbackName] = callback;
this[aroundCallbackName] = function() {
this[callbackName]();
object.removeObserver(property, this, aroundCallbackName);
@bradleypriest
bradleypriest / bound_helper.js
Created May 3, 2012 08:23 — forked from ghempton/bound_helper.js
Ember Bound Handlebars Helper Utility
// For reference: https://github.com/wagenet/ember.js/blob/ac66dcb8a1cbe91d736074441f853e0da474ee6e/packages/ember-handlebars/lib/views/bound_property_view.js
var BoundHelperView = Ember._MetamorphView.extend({
context: null,
options: null,
property: null,
// paths of the property that are also observed
propertyPaths: [],
value: Ember.K,
@bradleypriest
bradleypriest / deploy-pdf.rb
Created May 19, 2012 11:30
Rubber wkhtmltopdf recipe
namespace :rubber do
namespace :pdf do
after "rubber:install_packages", "rubber:pdf:install_wkhtmltopdf"
desc "install wkhtmltopdf see http://stackoverflow.com/questions/9672070/wicked-pdf-on-production-server/9687535#9687535 for details"
task :install_wkhtmltopdf, roles: :app do
sudo_script 'install_wkhtmltopdf', <<-ENDSCRIPT
if ! which wkhtmltopdf &> /dev/null; then
apt-get install -y wkhtmltopdf
apt-get remove -y wkhtmltopdf --purge