Skip to content

Instantly share code, notes, and snippets.

@poteto
Last active August 29, 2015 14:26
Show Gist options
  • Save poteto/7974ee29bfb4b72379f6 to your computer and use it in GitHub Desktop.
Save poteto/7974ee29bfb4b72379f6 to your computer and use it in GitHub Desktop.
identify(...args) {
this.invoke('identify', ...args);
},
alias(...args) {
this.invoke('alias', ...args);
},
trackEvent(...args) {
this.invoke('trackEvent', ...args);
},
trackPage(...args) {
this.invoke('trackPage', ...args);
},
invoke(methodName, ...args) {
const adaptersObj = Ember.get(this, '_adapters');
const adapterNames = Object.keys(adaptersObj);
const adapters = adapterNames.map((adapterName) => {
return Ember.get(adaptersObj, adapterName);
});
if (args.length > 1) {
let [ adapterName, options ] = args;
const adapter = Ember.get(adaptersObj, adapterName);
adapter[methodName](options);
} else {
adapters.forEach((adapter) => {
adapter[methodName](...args);
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment