Skip to content

Instantly share code, notes, and snippets.

View gist:118062
def make_new(obj, hash)
new_ob =
# Two approaches - 1st: You can use the array notation [] on an activerecord to use it like a hash
hash.each do {|key, value| new_ob[key] = value }
# Or you can send to the method using period:
hash.each do {|key, value| new_ob.send("#{key.to_s}=", value) }
View gist:745835
Account.transaction do
View gist:2493434
{{#each suggestedUsers}}
<a href='#' {{action completeUser}} {{bindAttr data-username="this"}}>{{this}}</a>
eviltrout / gist:3835764
Created Oct 4, 2012
#unboundIf and #unboundUnless in Ember
View gist:3835764
Ember.Handlebars.registerHelper 'unboundIf', (property, options) ->
context = (options.contexts && options.contexts[0]) || this
normalized = Ember.Handlebars.normalizePath(context, property,
if (Ember.get(normalized.root,normalized.path,options))
return options.fn(context,property)
return options.inverse(context,property)
Ember.Handlebars.registerHelper 'unboundUnless', (property, options) ->
eviltrout / nntp_connection.rb
Created Dec 19, 2012
NNTP Connection Class in Ruby
View nntp_connection.rb
# Example usage:
# require 'rubygems'
# require 'date'
# require 'socket'
# require 'celluloid'
# require 'nntp_connection'
# nntp ='', 119, 'username', 'password')
View race_condition.rb
# Keep everything in a database transaction
Player.transaction do
# Find the player's current goal
goal = player.current_goal
# Make sure we don't reward goals that have been already been completed
unless goal.completed?
goal.update_column :completed, true
player.score += goal.score
View welcome.yml
text_body_template: |
This private message has a few quick tips to get you started:
View additional_providers.rb
gem "omniauth-appnet"
gem "omniauth-box"
gem "omniauth-clef"
gem "omniauth-deviantart"
gem "omniauth-dropbox"
gem "omniauth-ebay"
gem "omniauth-flickr"
gem "omniauth-fitbit"
gem "omniauth-flattr"
gem "omniauth-foursquare"
View gist:5338573
Discourse.debouncePromise = function(func, wait) {
var timeout = null;
return function() {
var context = this;
var args = arguments;
// Return a promise that is never executed
if (timeout) return Ember.Deferred.create();
View gist:5957785
It's hard to answer these in a tweet :)
You can't pass arguments to computed properties unless you are creating custom setters, but that's a whole different topic!
What you probably want to do here is use an itemController for each row you are displaying (with the button.)
{{#each thing in things itemController="thing"}}
<button {{bindAttr disabled=thing.disabled}}>button</button>