$scope.link = function()

in src/client/controller/home.js [402:437]


        $scope.link = function () {
            var options = {
                gist: $scope.selected.gist,
                sharedGist: $scope.selected.sharedGist,
                minFileChanges: $scope.selected.minFileChanges,
                minCodeChanges: $scope.selected.minCodeChanges,
                excludePattern: $scope.selected.item.excludePattern,
                whiteListPattern: $scope.selected.whiteListPattern
            };
            var promise = linkItemService.createLink($scope.selected.item, options);

            promise.then(function success(data) {
                var linkedItem = data.value;
                var linkedArray = $scope.isRepo($scope.selected.item) ? $scope.claRepos : $scope.claOrgs;
                if (linkedItem) {
                    if ($scope.isRepo(linkedItem)) {
                        mixRepoData(linkedItem);
                    } else {
                        mixOrgData(linkedItem);
                    }
                    linkedItem.active = true;
                    linkedArray.push(linkedItem);
                    $scope.query.text = '';
                } else {
                    deleteFromArray($scope.selected.item, linkedArray);
                }
            }, function error(err) {
                if (err && err.message.match(/.*duplicate key error.*/)) {
                    showErrorMessage('This repository is already set up.');
                } else if (err && err.message) {
                    showErrorMessage(err.message);
                }
            });

            return promise;
        };