Skip to content

Instantly share code, notes, and snippets.

var hello = function(){
this.greet = function(name){
console.log("hello " + name);
};
};
function arr(){
this.greet = function(name){
console.log("arrrr " + name);
};
@raphaelgabbarelli
raphaelgabbarelli / gist:d7894cef9f4ec2b1b93a
Last active August 29, 2015 14:12
the greeting manager
var greetingManager = function(greeter){
self = this;
this.greeter = greeter;
this.greet = function(name){
self.greeter.greet(name);
};
}
@raphaelgabbarelli
raphaelgabbarelli / gist:49d7a2b973b4f542f423
Created December 26, 2014 16:12
stabbing the trucker's hitch
/**
* Trucker's hitch Inversion of Control container
*/
var TruckersHitch = function() {
var self = this;
self.dependencies = [];
this.get = function(key){
...
this.add = function(key, dependency){
for(var i = 0; i < self.dependencies.length; i++){
if(self.dependencies[i].key === key){
return;
}
}
self.dependencies.push({key : key, dependency : dependency});
};
@raphaelgabbarelli
raphaelgabbarelli / gist:07a9425fed1e997e424b
Created December 26, 2014 16:29
greetingManager with dependencies
var greetingManager = function(greeter){
self = this;
this.greeter = greeter;
this.greet = function(name){
self.greeter.greet(name);
};
}
greetingManager.$deps = ["greeter"];
@raphaelgabbarelli
raphaelgabbarelli / gist:026b138bb84f98094f1e
Created December 26, 2014 16:31
getting an instance of a type from the IoC
this.get = function(key){
for(var i = 0; i < self.dependencies.length; i++){
var dep = self.dependencies[i];
if(dep.key === key){
var deps = [];
if(dep.dependency.$deps != null){
for(var d = 0; d < dep.dependency.$deps.length; d++){
deps.push(self.get(dep.dependency.$deps[d]));
}
@raphaelgabbarelli
raphaelgabbarelli / gist:60f6778c41bd57ef9da1
Created December 26, 2014 16:41
hello, arr and greetingManager complete definitions
// The hello type
var hello = function(){
var self = this;
this.greet = function(name){
console.log("hello " + name);
};
};
hello.$ctor = function(){
return new hello();
}
@raphaelgabbarelli
raphaelgabbarelli / gist:b82d01d1c364e785709c
Created December 26, 2014 16:44
the greeter client code
var th = new TruckersHitch();
th.add("greeter", hello);
th.add("gm", greetingManager);
var grManager = th.get("gm");
grManager.greet("Raphael");
@raphaelgabbarelli
raphaelgabbarelli / my_webexpo_2015.json
Last active September 21, 2015 21:15
talks I attended at WebExpo 2015
{ "event" : "WebExpo",
"location" : "Prague, Czech Republic",
"date" : "September 19 and 20, 2015",
"day_1" : [ { "title" : "Find your inner product manager", "speaker" : "Amit Paunikar" },
{ "title" : "Defining product success", "speaker" : "Cole Mercer" },
{ "title" : "Security is everyone’s responsibility", "speaker" : "James Hall" },
{ "title" : "From callbacks to promises", "speaker" : "Vincenzo Chianese" },
{ "title" : "The principles of responsive design", "speaker" : "Paul Robert Lloyd" },
{ "title" : "The future of marketing", "speaker" : "J. Christian Andersen"} ],
"day_2" : [ { "title" : "Why I chose Firebase to add real time data to Luzme", "speaker" : "Rachel Willmer" },

Keybase proof

I hereby claim:

  • I am raphaelgabbarelli on github.
  • I am raphaelgabbarell (https://keybase.io/raphaelgabbarell) on keybase.
  • I have a public key whose fingerprint is 3812 6B2F 2332 3D42 6758 7C01 111F B075 5E53 CE13

To claim this, I am signing this object: