Skip to content

Instantly share code, notes, and snippets.

@iwarshak
iwarshak / gist:340433
Created March 22, 2010 19:24
gists for mongo mapreduce post
class Book
include MongoMapper::Document
CONTEXTS = ['authors', 'rating','keywords', 'genre']
CONTEXTS.each do |context|
key context, Array, :index => true
end
key :title, String<br />
key :contexts, Array<br />
module MongoidAdapter
class InstanceAdapter < Sunspot::Adapters::InstanceAdapter
def id
@instance.id
end
end
class DataAccessor < Sunspot::Adapters::DataAccessor
def load(id)
@clazz.find(id)
@iwarshak
iwarshak / devise_migration.rb
Created August 24, 2011 16:02 — forked from Bertg/devise_migration.rb
Migrating to a new password encryption in devise, coming from authlogic
class MigrateUserToDevise < ActiveRecord::Migration
def self.up
change_table :users do |t|
t.string :encrypted_password, :null => false, :limit => 128
# ...
end
end
def self.down
end
@iwarshak
iwarshak / nginx
Created December 12, 2011 15:31
nginx init script
#!/bin/bash
case "${1:-''}" in
'start')
# start commands here
/opt/nginx/sbin/nginx
;;
'stop')
# stop commands here
kill `cat /opt/nginx/logs/nginx.pid`
@iwarshak
iwarshak / devise-iphone.rb
Created January 19, 2012 16:33
pulling devise api key out of request
class ApplicationController < ActionController::Base
protect_from_forgery
prepend_before_filter :get_api_key
# devise will look for params[:api_key] automatically. it might need to be configured in devise.rb
private
def get_api_key
if api_key = params[:api_key].blank? && request.headers["X-API-KEY"]
params[:api_key] = api_key
@iwarshak
iwarshak / why_isnt_this_the_default.rb
Created August 25, 2012 20:52 — forked from tpope/why_isnt_this_the_default.rb
Raise an error on missing assets
Sprockets::Helpers::RailsHelper::AssetPaths.class_eval do
class MissingAssetError < StandardError; end
def digest_for_with_presence_check(logical_path)
unless asset_environment[logical_path]
raise MissingAssetError.new("#{logical_path} doesn't exist")
end
digest_for_without_presence_check(logical_path)
end
alias_method_chain :digest_for, :presence_check
@iwarshak
iwarshak / Gemfile
Last active May 12, 2018 21:54
Here is what you need to get your Rubymotion application logs sent to papertrailapp.com. I am using Cocoalumberjack (CLJ) which seems to be the logging framework of choice for Cocoa, motion-logger which is a thin RM wrapper around Cocoalumberjack. CLJ allows you to write your own loggers, which is what PapertrailLogger is. It simply fires off lo…
source :rubygems
gem "rake"
gem 'motion-logger' #cocoalumberjack wrapper
# [ UIViewController, UIView, etc. ]...
[ UIViewController ].each do |klass|
klass.class_eval do
def self.allocWithZone(zone)
super.tap do |x|
p " + alloc! #{x.inspect}"
end
end
alias_method 'old_dealloc', 'dealloc'
@iwarshak
iwarshak / postgres_convert.sh
Created January 23, 2014 22:38
convert postgres db to utf8 from asii
# from http://www.postgresql.org/message-id/[email protected]
# list databases & encodings
# psql --list
vacuumdb --full --analyze --username postgres --dbname mephisto && pg_dump mephisto -Ft -v -U postgres -f tmp/mephisto.tar && dropdb mephisto --username postgres && createdb --encoding UNICODE mephisto --username postgres && pg_restore tmp/mephisto.tar | psql --dbname mephisto --username postgres && vacuumdb --full --analyze --username postgres --dbname mephisto
=Navigating=
visit('/projects')
visit(post_comments_path(post))
=Clicking links and buttons=
click_link('id-of-link')
click_link('Link Text')
click_button('Save')
click('Link Text') # Click either a link or a button
click('Button Value')