Skip to content

Instantly share code, notes, and snippets.

@nashby
nashby / gist:1303163
Created October 21, 2011 05:30
enter to prompt in capybara
def suppress_prompt(text)
page.evaluate_script 'window.original_prompt_function = window.prompt;'
page.evaluate_script "window.prompt = function(msg) { return '#{text}'; }"
end
def recover_prompt
page.evaluate_script('window.prompt = window.original_prompt_function;')
end
@nashby
nashby / gist:1231462
Created September 21, 2011 07:26
fix for broken :all_blank in rails
def nested_all_blank(attributes)
attributes.reject { |key, value| ['_destroy', :_destroy].include?(key) && [false, 0, 'f', 'false'].include?(value) }.all? do |_, value|
if value.is_a?(Hash)
nested_all_blank(value)
else
value.blank?
end
end
end
@nashby
nashby / README.md
Created September 4, 2011 15:50
Gingerbread

##Gingerbread It's like very simple ActiveRecord for Sinatra but uses cookies instead of databases

Use cookies in Sinatra like a boss!

Example:

require './gingerbread'
require 'sinatra'
def attributes
attrs = {}
attribute_names.each { |name| attrs[name] = read_attribute(name) }
attrs
end
#vs
def attributes
attribute_names.inject({}) { |attrs, name| attrs[name] = read_attribute(name); attrs }
[ -f $HOME/.profile ] && . $HOME/.profile
HISTSIZE=1000
SAVEHIST=1000
HISTFILE=$HOME/.zsh_history
setopt append_history
setopt inc_append_history
setopt extended_history
setopt hist_find_no_dups
setopt hist_ignore_all_dups

InteractiveCU is a simple interactive create and update for AR.

Examples:

Create:

ruby-1.9.2-p180 :007 > User
 => User(id: integer, name: string, created_at: datetime, updated_at: datetime) 
ruby-1.9.2-p180 :008 > User.interactive_create # or User.ic
<h1>Post:</h1>
<h2><%= @post.title %></h2>
<div style="margin:0 250px 0 250px">
<pre>
<code class="<%= @post.language %>"><%= @post.source_code %></code>
</pre>
</div>
<%= raw(disqus_thread) %>