Skip to content

Instantly share code, notes, and snippets.

View burlesona's full-sized avatar

Andrew Burleson burlesona

  • CoSell
  • Austin, TX
View GitHub Profile
@burlesona
burlesona / gist:5052509
Created February 27, 2013 22:38
Hash#seek. For getting values out of deeply nested hashes.
# Use like so:
# @key_i_need = @event.seek :coordinator, :api_license, :key
class Hash
def seek(*_keys_)
last_level = self
sought_value = nil
_keys_.each_with_index do |_key_, _idx_|
if last_level.is_a?(Hash) && last_level.has_key?(_key_)
if _idx_ + 1 == _keys_.length
@burlesona
burlesona / gist:4220986
Created December 6, 2012 00:57
Stubbing local scope methods from outside a module so you can test methods inside a module
require 'minitest_helper'
require 'helpers/application_helper'
describe ApplicationHelper do
before :all do
@helper = Struct.new(:request).new #Create an empty request method so it can be stubbed
@helper.extend(ApplicationHelper)
end
@burlesona
burlesona / 1.rb
Created November 11, 2012 21:11
Example of user-friendly association of City and Districts to other models in Rails
# 1. Excerpt of Photo and User model
# Photos can belong to Cities and Districts, and users can browse Cities and
# Districts to see the photos in them. When a user uploads a photo I really want
# them to tell me where the photo came from.
# Also, Users can be from a City and District. This is not currently used for very
# much, but gives me a path to add location-enhanced results for other stuff in the
# future.
@burlesona
burlesona / photos_controller.rb
Created January 17, 2012 22:35
Photos Controller - 1-17-2012
class PhotosController < ApplicationController
before_filter :authenticate_user!, :except => [:index, :show]
impressionist :actions=>[:show]
respond_to :html, :json
def index
@search = Photo.search(params[:search])
@search.meta_sort ||= 'created_at.desc'
@photos = @search.page(params[:page]).per(20)
respond_with @photos