Skip to content

Instantly share code, notes, and snippets.

Avatar

Stephen Caudill voxdolo

View GitHub Profile
@voxdolo
voxdolo / Gemfile
Created Sep 13, 2010
Neither does this terrible thing
View Gemfile
source 'http://rubygems.org'
gem 'bundler', '~> 1.0.0'
gem 'decent_exposure', '~> 1.0.0.rc1'
gem 'devise', '~> 1.1.2'
gem 'haml'
gem 'hassle', :git => 'git://github.com/Papipo/hassle.git'
gem 'pg'
gem 'rails', '3.0.0'
View things_controller.rb
class ThingsController < ApplicationController
respond_to :html, :json
# decent_exposure won't currently intuit a collection (plural resource) for you. The SLTD error is
# caused by a circular reference between an undeclared collection (which the singular resource attempts
# to scope from) and the singular resource. To fix this problem, just define the collection:
expose(:things) { Thing.all }
# or alternatively, something like:
# expose(:things) { current_user.things }
expose(:thing)
@voxdolo
voxdolo / error_message.sh
Created Oct 7, 2010
error after running rake cucumber. using ruby 1.9.2p0, rails 3, rspec 2.0.0rc
View error_message.sh
/Users/dev/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/minitest/unit.rb:566:in `block in process_args': invalid option:
--profile (OptionParser::InvalidOption)
from /Users/dev/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/minitest/unit.rb:545:in `new'
from /Users/dev/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/minitest/unit.rb:545:in `process_args'
from /Users/dev/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/minitest/unit.rb:576:in `run'
from /Users/dev/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/minitest/unit.rb:492:in `block in autorun'
(in /Users/dev/hashrocket/heatusa)
@voxdolo
voxdolo / btelles-master-rspec-output.txt
Created Dec 3, 2010
RSpec run output. Rubies: 1.8.7p302 and 1.9.2-p0.
View btelles-master-rspec-output.txt
(in /Users/voxdolo/dev/decent_exposure)
DecentExposure classes extending DecentExposure
- should respond to #expose
- should respond to #default_exposure
DecentExposure.expose
- creates a method with the given name
- prevents the method from being a callable action
- declares the method as a helper method
@voxdolo
voxdolo / _session_output.irb
Created Jan 20, 2011
Confusing Mongoid output - full source from examples below at: https://github.com/voxdolo/ding/tree/mongoid_fabrication
View _session_output.irb
ruby-1.9.2-p0 :026 > s = Session.create
=> #<Session _id: 4d3845f0c1037b05f3000005, created_at: 2011-01-20 14:25:52 UTC, updated_at: 2011-01-20 14:25:52 UTC, name: "aa", custom: nil>
ruby-1.9.2-p0 :027 > s.timers << Pomodoro.new
=> [#<Pomodoro _id: 4d384601c1037b05f3000006, created_at: 2011-01-20 14:26:09 UTC, updated_at: 2011-01-20 14:26:09 UTC, duration: 1500>]
ruby-1.9.2-p0 :028 > s.timers.count
=> 1
ruby-1.9.2-p0 :029 > s.reload
=> #<Session _id: 4d3845f0c1037b05f3000005, created_at: 2011-01-20 14:25:52 UTC, updated_at: 2011-01-20 14:25:52 UTC, name: "aa", custom: nil>
ruby-1.9.2-p0 :030 > s.pomodoros.count
=> 0
@voxdolo
voxdolo / cancan_exposure.rb
Created Mar 28, 2011
A default exposure for decent_exposure that assigns instance variables (to make cancan happy)
View cancan_exposure.rb
default_exposure do |name|
collection = name.to_s.pluralize
if respond_to?(collection) && collection != name.to_s && send(collection).respond_to?(:scoped)
proxy = send(collection)
else
proxy = name.to_s.classify.constantize
end
instance_variable_set("@#{name}") = if id = params["#{name}_id"] || params[:id]
proxy.find(id).tap do |r|
@voxdolo
voxdolo / scope_steps.rb
Created Mar 30, 2011
Scope assertions to portions of the page
View scope_steps.rb
module SectionLocator
def within_parent(content, elements = ['*'], &block)
expr = %(//*[(#{elements.join('|')})/descendant-or-self::*[contains(., "#{content}")]])
within(:xpath, expr, &block)
end
def within_parent_preceding(content, elements = ['*'], &block)
expr = %(//*[(#{elements.join('|')})[contains(., "#{content}")]]/..)
within(:xpath, expr, &block)
@voxdolo
voxdolo / attached_file.rb
Created May 17, 2011 — forked from jens/attached_file.rb
Duplicate items when using update_attributes and decent_exposure
View attached_file.rb
class AttachedFile < ActiveRecord::Base
belongs_to :parent, :polymorphic => true
end
@voxdolo
voxdolo / decent_decorator.rb
Created Jun 1, 2012
Simple monkey patch for decent_exposure's nu_nu branch to add automatic decoration of singular resources. Throw this in config/initializers and monkey patch your way to victory! Assumes a module like the one included.
View decent_decorator.rb
class DecentExposure::ActiveRecord::Finder
def decorated_singular_resource
singular_resource.extend("#{singular_resource.class.name}Decorator".constantize)
rescue NameError
singular_resource
end
def resource
if plural?
View view_helpers.rb
module ClearEyes
module ViewHelpers
def self.included(base)
base.send(:attr_accessor, :image, :options)
end
def r_image( pixel_ratio )
insert_on = -File.extname(self.image).size-1
image_tag(self.image.insert(insert_on, "@#{pixel_ratio}x"), self.options)
end
You can’t perform that action at this time.