Skip to content

Instantly share code, notes, and snippets.

View lukemelia's full-sized avatar
💭
Making Yapp better all the time and likely working on some Ember.js OSS

Luke Melia lukemelia

💭
Making Yapp better all the time and likely working on some Ember.js OSS
View GitHub Profile
@lukemelia
lukemelia / config.ru
Created March 23, 2012 03:26
rake pipeline rack config
require 'bundler/setup'
require 'sass'
require 'compass'
require 'rake-pipeline'
require 'listen'
require 'rack/lock'
require 'ruby-debug'
require 'securerandom'
STDOUT.sync = true
@lukemelia
lukemelia / Assetfile
Created June 20, 2012 04:04
Example rake-pipeline Assetfile
require "rake-pipeline-web-filters"
class ClosureFilter < Rake::Pipeline::Filter
def generate_output(inputs, output)
inputs.each do |input|
output.write "(function() { #{input.read} })()"
end
end
end
@lukemelia
lukemelia / sketch.rb
Created June 23, 2012 20:01
sketch for Matt Wynne
class Organization
def to_param
"42"
end
def saved?
rand > 0.5
end
end
class OrganizationCreator
@lukemelia
lukemelia / config.ru
Created July 4, 2012 22:06
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'
(($)->
$.fn.logoPopup = ->
this.mousedown ->
$(document).bind("contextmenu", (event)->
true
)
if event.which == 3
$('<div id="logo-lightbox-container">').hide().appendTo('body').load('/u/logo', ->
$.easybox("#logo-lightbox-container")
)
@lukemelia
lukemelia / batch.js
Created August 13, 2012 20:50
Batch transaction save
App.profileEditorController = Em.ObjectController.extend({
addressBinding: 'content.address'
});
App.Router = Em.Router.extend({
root: Em.Route.extend({
profile: Em.Route.extend({
route: 'profile',
@lukemelia
lukemelia / always.js
Created February 21, 2013 19:10
chaining jquery then vs jquery always
var start = Yapp.promise(function(deferred) {
console.log("Resolving chain part 1")
deferred.resolve()
}).always(function(){
return Yapp.promise(function(deferred) {
setTimeout(function(){
console.log("Resolving chain part 2")
deferred.resolve()
}, 100);
})
@lukemelia
lukemelia / app_with_resolver.coffee
Created March 19, 2013 14:56
How we are using the new resolver hook in ember.js master to auto-require most of our minispade modules
get = Ember.get
decamelize = Ember.String.decamelize
classify = Ember.String.classify
MinispadeResolver = Ember.DefaultResolver.extend
logFailedLookups: true
resolveTemplate: (parsedName)->
resolvedTemplate = @_super(parsedName)
unless resolvedTemplate
try
@lukemelia
lukemelia / buffered_proxy.js
Last active May 5, 2016 20:47
Buffered Proxy, extracted from Yapp codebase
var empty, get, set,
__hasProp = {}.hasOwnProperty;
get = Ember.get;
set = Ember.set;
empty = function(obj) {
var key;
for (key in obj) {
if (!__hasProp.call(obj, key)) continue;
@lukemelia
lukemelia / gist:5653804
Created May 26, 2013 19:43
converting from our connect_controllers style to needs
#!/usr/env ruby
require 'rubygems'
require 'active_support'
require 'active_support/core_ext/string'
cc_map = {
page: ['feedEntries', 'mediaWell', 'videosWell', 'crowdPicsImages', 'user', 'videos'],
cover: ['yapp'],
pageEdit: ['page'],