Skip to content

Instantly share code, notes, and snippets.

Scott Ames-Messinger scottmessinger

Block or report user

Report or block scottmessinger

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View dot_notation.rb
# Simple-ish enumberable-simplifier. Useful for APIs like Twitter, etc
# If you have a hash or an array or something that quacks like one, you can do stuff
# example:
# h = {a: {b: {c: [{d: 'hi'}]}}}
# h.extend(DotNotation)
# #=> 'hi'
# #=> nil
peterc / embedded_document_delete.rb
Created Mar 13, 2010
MongoMapper to give EmbeddedDocument a "delete" method
View embedded_document_delete.rb
# MongoMapper "embedded document delete" plugin
# By Peter Cooper
# Got embedded documents you want to delete? You can delete them as if the
# embedded document collection were an array, but then there's no way to get
# a callback (as far as I could tell). This plugin gives you a call back
# (if you want it) and gives a nicer syntax to deleting embedded docs.
# Example:
octplane / mongo_pubsub.rb
Created Nov 9, 2010
Simple Pub/Sub system using MongoDB, capped collections and tailable cursors in ruby
View mongo_pubsub.rb
require 'rubygems'
require 'mongo'
module MongoPubSub
class EndSubscriptionException < Exception; end
class Publisher
def initialize(queue_name, mongo_connection)
# Initialize queue collection as a capped collection
if not mongo_connection[QUEUES_COLLECTION].collection_names.include?(queue_name)
panayi / gist:2781592
Created May 24, 2012
Ember.js: Animating view with JQ.Animation mixin
View gist:2781592
JQ.Animate = Ember.Mixin.create({
cssProperties: ['background', 'backgroundAttachment', 'backgroundColor', 'backgroundImage', 'backgroundPosition',
'backgroundRepeat', 'border', 'borderBottom', 'borderBottomColor', 'borderBottomStyle', 'borderBottomWidth',
'borderColor', 'borderLeft', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRight', 'borderRightColor',
'borderRightStyle', 'borderRightWidth', 'borderStyle', 'borderTop', 'borderTopColor', 'borderTopStyle', 'borderTopWidth',
'borderWidth', 'clear', 'clip', 'color', 'cursor', 'display', 'filter', 'font', 'fontFamily', 'fontSize',
'fontVariant', 'fontWeight', 'height', 'left', 'letterSpacing', 'lineHeight', 'listStyle', 'listStyleImage',
'listStylePosition', 'listStyleType', 'margin', 'marginBottom', 'marginLeft', 'marginRight', 'marginTop', 'overflow',
'padding', 'paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop', 'pageBreakAfter', 'pageBreakBefore',
'position', 'styleFloat', 'textAlign', 'textDecoration'
workmanw /
Created Jul 3, 2012

After a mind numbing week of updating all of the templates in our app and thinking about the implications of this change, I'd like to provide a little bit of feedback on this change.

Overall, I view this change as unfavorable. It's not that I dislike the change, it's that I don't find much value in it and it was a very daunting task to push to Ember users.

Template Simplification

From what I've gathered the purpose of this change is to "significantly reduce the verbosity of templates". I did not find that my templates either grew or shrank in size, they really remained constant. I believe one of the intended ways for reducing size was the elimination for the need of contentBinding="this" on {{view}} helpers. E.g.

{{#each App.photosController}}
lukemelia /
Created Jul 4, 2012
Example rack app for Ember development
require 'bundler/setup'
require 'sass'
require 'compass'
require 'rake-pipeline'
require 'listen'
require 'rack/lock'
require 'ruby-debug'
require 'securerandom'
require 'ruby_gntp'
View Ember.Editable.js
Ember.Editable = Ember.Mixin.create({
_originalPropertyStates: Ember.Map.create(),
_isEditing: false,
willDestroy: function () {
var $this = this;
for (var prop in this.getOwnProperties()) {
Ember.removeBeforeObserver($this, prop, $this, '_beforePropertyChange');
//Ember.removeObserver($this, prop, $this, '_propertyChanged');
tchak / deferred.js
Created Aug 14, 2012
View deferred.js
var get = Ember.get, set = Ember.set, slice = Array.prototype.slice;
Ember.Deferred = Ember.Mixin.create({
Add handlers to be called when the Deferred object is either resolved or rejected.
always: function(callbacks, target) {
this.done(callbacks, target).fail(callbacks, target);
go1dfish / array_filter.js
Created Oct 2, 2012
Ember.js ArrayProxy based ArrayFilter implementation
View array_filter.js
Ember.ArrayFilter = Em.ArrayProxy.extend({
init: function() {
arrangedContent: function() {
var af = this;
return Ember.ArrayFilterSortProxy.create({
arrayFilter: af,
mmun / groupBy.js
Last active Dec 31, 2015
Computed groupBy
View groupBy.js
(function() {
var get = Ember.get, set = Ember.set;
function findItemInsertionIndex(group, changeMeta, instanceMeta) {
for (var i = get(group, 'length') - 1; i >= 0; i--) {
var currentItem = group.objectAt(i),
currentIndex = instanceMeta.itemGuidToIndex[Ember.guidFor(currentItem)];
if (currentIndex < changeMeta.index) {
return i + 1;
You can’t perform that action at this time.