Skip to content

Instantly share code, notes, and snippets.

View elado's full-sized avatar
👨‍💻

Elad Ossadon elado

👨‍💻
View GitHub Profile
@elado
elado / AngularBaseCtrl.coffee
Last active January 28, 2017 08:43
Angular.js CoffeeScript Controller Base Class
# dependency - Function.prototype.bind or underscore/lodash
app = angular.module 'someApp'
class @BaseCtrl
@register: (app, name) ->
name ?= @name || @toString().match(/function\s*(.*?)\(/)?[1]
app.controller name, @
@inject: (args...) ->
app = angular.module 'checkboxListApp'
app.directive 'checkboxList', ->
restrict: 'AE'
replace: true
scope:
list: '='
model: '=ngModel'
@elado
elado / eo-keepratio.coffee
Created May 20, 2014 19:32
Responsive Boxes: Keep Ratio of Width and Height
# By Elad Ossadon
app = angular.module 'eo-keepratio'
SPACERS =
'1:1': "R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
'16:10': "R0lGODlhEAAKAIAAAP///wAAACH5BAEAAAAALAAAAAAQAAoAAAILhI+py+0Po5y0rgIAOw=="
'16:9': "R0lGODlhEAAJAIAAAP///wAAACH5BAEAAAAALAAAAAAQAAkAAAIKhI+py+0Po5yUFQA7"
'4:3': "R0lGODlhBAADAIAAAP///wAAACH5BAEAAAAALAAAAAAEAAMAAAIDhI9WADs="
'3:1': "R0lGODlhAwABAIAAAP///wAAACH5BAEAAAAALAAAAAADAAEAAAIChAsAOw=="
@elado
elado / cequel-database_cleaner.rb
Last active April 8, 2021 08:25
Cequel + DatabaseCleaner and RSpec
# in spec_helper.rb
RSpec.configure do |config|
records = []
config.before :suite do
Cequel::Record.descendants.each do |klass|
klass.after_create {|r| records << r }
end
end
@elado
elado / app.coffee
Last active August 29, 2015 14:05
Angular Resource - Share all instances of a query across entire app
app = angular.module 'my-app', ['eo-cached-resource-action']
app.factory 'Category', ($resource, cachedResourceAction) ->
Category = $resource "/categories/:id/:action", {id: '@id'}, {
query: { method: 'GET', cache: true, isArray: true }
}
Category.query = cachedResourceAction.wrapArrayAction(Category.query)
Category
@elado
elado / grape-encoding_spec.rb
Created October 22, 2014 20:05
Grape Encoding Test (currently fails)
# -*- encoding : utf-8 -*-
require 'spec_helper'
require 'shared/versioning_examples'
describe Grape::API do
module EncodingSpec
class API < Grape::API
params do
requires :a
@elado
elado / gulp-sass-parallel.js
Last active August 29, 2015 14:20
gulp-sass-parallel
function sass(path) {
var cssFilter = $.filter('**/*.css');
return gulp.src(path, { base: 'app', dot: true })
.pipe($.changed($.config.tmp, {extension: '.css'}))
.pipe($.plumber())
.pipe($.rubySass({
container: path.replace(/[\*\/]/g, "_")
}))
@elado
elado / slug_rack_app.rb
Last active August 29, 2015 14:23
Rails conditional controller
# routes.rb (very bottom route):
match '*path' => SlugRackApp
# slug_rack_app.rb
class SlugRackApp
def self.call(env)
path = env["action_dispatch.request.path_parameters"][:path]
@elado
elado / proxy-server.js
Created September 11, 2015 16:09
Proxy all requests to another server, add Access-Control headers
var http = require('http'),
httpProxy = require('http-proxy');
var proxy = httpProxy.createProxyServer({});
var server = http.createServer(function (req, res) {
console.log(req.url, req.method);
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Request-Method', '*');
@elado
elado / reusePromise.js
Last active November 5, 2015 06:26
reusePromise
const pendingPromisesMap = () => {
const FN_INDEX = 0
const KEY_INDEX = 1
const VALUE_INDEX = 2
const a = []
function is(item, fn, key) {
if (item[FN_INDEX] == fn && item[KEY_INDEX] == key) {
return true