Skip to content

Instantly share code, notes, and snippets.

@PatrickJS
Last active December 25, 2015 09:29
Show Gist options
  • Select an option

  • Save PatrickJS/6954106 to your computer and use it in GitHub Desktop.

Select an option

Save PatrickJS/6954106 to your computer and use it in GitHub Desktop.
Angular Module Pattern
!function(app) {
'use strict';
app.factory('Tracking', function($rootScope, $log) {
var _tracking = {};
_tracking.success = function(event, args) {
args = getArgs(arguments);
return function() {
$log.info(event+':success', args);
$rootScope.$broadcast(event+':success', args)
};
};
_tracking.error = function(event, args) {
args = getArgs(arguments);
return function() {
$log.info(event+':error', args);
$rootScope.$broadcast(event+':error', args)
};
}
return _tracking
});
// Helper functions
function getArgs(args) {
return Array.prototype.slice.call(args, 1);
}
}(angular.module('services'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment