Skip to content

Instantly share code, notes, and snippets.

View jamesbebbington's full-sized avatar

James Bebbington jamesbebbington

View GitHub Profile
module ActiveModelInstanceTagWithAssociations
def error_message
Rails.logger.debug "ActiveModelInstanceTagWithAssociations: " + @method_name.inspect
if @method_name.end_with?('_ids')
# Check for a has_(and_belongs_to_)many association (these always use the _ids postfix field).
association = object.class.reflect_on_association(@method_name.chomp('_ids').pluralize.to_sym)
# Check for a belongs_to association with method_name matching the foreign key column
$ sencha app build -run native
Sencha Cmd v4.0.0.203
[INF] init-plugin:
[INF] cmd-root-plugin.init-properties:
[INF] init-properties:
[INF] init-sencha-command:
jamesbebbington / application_cell.rb
Created August 12, 2011 14:21
ArgumentError with CellTests
class ApplicationCell < Cell::Rails
helper ApplicationHelper
helper I18nHelper
jamesbebbington / cells_3.6.4_test_failures.out
Created August 12, 2011 14:25
cells 3.6.4 test failures
ree-1.8.7@cells (master) lebigmac:cells james$ gem list
*** LOCAL GEMS ***
abstract (1.0.0)
actionpack (3.0.9)
activemodel (3.0.9)
activesupport (3.0.9)
builder (2.1.2)
bundler (1.0.17)
jamesbebbington / application_controller.rb
Created August 4, 2011 11:16 — forked from robertsosinski/caching_with_request_forgery_protection.rb
Rack middleware and form tag patch to insert csrf tokens into cached pages
class ApplicationController < ActionController::Base
after_filter :inject_csrf_token
def inject_csrf_token
if protect_against_forgery? && token = session['_csrf_token']
if body_with_token = response.body.gsub!(TOKEN_PLACEHOLDER, token)
jamesbebbington / template_handlers.rb
Created July 20, 2011 11:43
Rails 3 Textile Template Handler with ERB
# config/initializers/template_handlers.rb
require 'action_view/template/handlers/textile'
ActionView::Template.register_template_handler :textile,
jamesbebbington / .bash_profile
Created June 15, 2011 08:34
My bash profile
# bash history (see:
export HISTCONTROL=erasedups
export HISTSIZE=10000
shopt -s histappend
export PATH=$PATH:/usr/local/mysql/bin/
# For mysql gem install. See:
export ARCHFLAGS="-arch i386"
class Project < ActiveRecord::Base
named_scope :foo, :conditions => [' IN(?)', [1,2,3]]
named_scope :bar, :conditions => [' IN(?)', [2,3,4]]
$ ./script/console
Loading development environment (Rails 2.3.9)
ree-1.8.7-2010.02 :001 >
Project Load (0.5ms) SELECT * FROM `projects` WHERE (( IN(2,3,4)) AND ( IN(1,2,3))) ORDER BY
# Adobe Flash fails to pass the correct mime-type when POSTing files.
# This piece of middleware is used to correctify the matter
# N.B. Requires `file` command so will probably only work on POSIX systems
# To use add this to an initializer:
# ActionController::Dispatcher.middleware.insert_after(ActionController::ParamsParser, IdentifyMimetypesMiddleware, /^(Adobe|Shockwave) Flash/)
require 'rack/utils'
module ActiveRecordExtensions
module ClassExtensions
# Returns +Array+ of all +ActiveRecord+ model classes
def models
Dir.glob(Rails.root.join('app', 'models', '**', '*rb')).each do |model|
ActiveSupport::Dependencies::Loadable.require_or_load model
Object.subclasses_of ActiveRecord::Base