Example #1
0
    _.each(links, function (currUrl) {
      var currUrlHostname   = urlParser.parse(currUrl).hostname,
          sameHostnamePages = [],
          hasShorterPaths   = false,
          currUrlPath, currUrlDepth;

      sameHostnamePages = _.filter(links, function (url) {
        return currUrlHostname === urlParser.parse(url).hostname && url !== currUrl;
      });

      if (_.isEmpty(sameHostnamePages)) {
        rtnArr.push(currUrl);
      } else {
        currUrlPath = fn.url.removeTrailingSlash(urlParser.parse(currUrl).path);
        currUrlDepth = currUrlPath.split('/').length;

        hasShorterPaths = _.any(sameHostnamePages, function (url) {
          var urlPath  = fn.url.removeTrailingSlash(urlParser.parse(url).path),
              urlDepth = urlPath.split('/').length;

          return urlDepth < currUrlDepth;
        });

        if (!hasShorterPaths) {
          rtnArr.push(currUrl);
        }
      }
    });
Example #2
0
 verifiedLink: function (url) {
   return this.pages[url]
     ? this.pages[url].verified
     : _.any(this.pages, function (page) {
       return fn.sameUrl(page.url, url) && page.verified;
     });
 },
Example #3
0
    _.each(pages, function (currPage) {
      var currPageDomain  = urlParser.parse(currPage.url).hostname,
          sameDomainPages = [],
          hasShorterPaths = false,
          currPagePath, currPageDepth;

      sameDomainPages = _.filter(pages, function (page) {
        return currPageDomain === urlParser.parse(page.url).hostname && page.url !== currPage.url;
      });

      if (_.isEmpty(sameDomainPages)) {
        rtnObj[currPage.url] = currPage;
      } else {
        currPagePath = fn.url.removeTrailingSlash(urlParser.parse(currPage.url).path);
        currPageDepth = currPagePath.split('/').length;

        hasShorterPaths = _.any(sameDomainPages, function (page) {
          var pagePath  = fn.url.removeTrailingSlash(urlParser.parse(page.url).path),
              pageDepth = pagePath.split('/').length;

          return pageDepth < currPageDepth;
        });

        if (!hasShorterPaths) {
          rtnObj[currPage.url] = currPage;
        }
      }
    });
Example #4
0
 addAdmin: function(user) {
     var admins = this.get("admins");
     var exists = _.any(admins, _.bind(function(admin) {
         return this.adminMatchesUser(admin, user);
     }, this));
     if (!exists) {
         var changed = false;
         if (user.id) {
             admins.push({id: user.id});
             changed = true;
         } else {
             var email;
             if (user.email) {
                 email = user.email;
             } else if (user.get && user.get("emails")[0]) {
                 email = user.get("emails")[0].value;
             }
             if (email) {
                 admins.push({email: email});
                 changed = true;
             }
         }
         if (changed) {
             this.set("admins", admins);
             this.trigger("change:admins", this, admins);
             this.trigger("change", this);
         }
     }
 },
Example #5
0
 loadUrl : function() {
   var fragment = this.fragment = this.getFragment();
   var matched = _.any(this.handlers, function(handler) {
     if (handler.route.test(fragment)) {
       handler.callback(fragment);
       return true;
     }
   });
   return matched;
 },
Example #6
0
File: api.js Project: reality/dbot
                    this.api.getUserAliases(user.id, function(err, aliases) {
                        aliases.push(nick);

                        var onlineNicks = _.keys(dbot.instance.connections[server].channels[channel].nicks);
                        var isOnline = _.any(onlineNicks, function(nick) {
                            return _.include(aliases, nick);
                        }, this);

                        callback(null, user, isOnline);
                    });
Example #7
0
  alreadyUsed: function (url) {
    if (this.pages[url]) {
      return true;
    } else {
      var oldUrls = _.pluck(this.pages,'url'),
          newObj  = require('url').parse(url);

      return _.any(oldUrls, function (oldUrl) {
        return fn.sameUrl(url, oldUrl);
      });
    }
  },
Example #8
0
File: api.js Project: treesus/dbot
            this.api.resolveUser(server, nick, function(user) {
                var possiNicks = [user].concat(user.aliases);

                if(_.has(dbot.instance.connections[server].channels, channel)) {
                    var onlineNicks = dbot.instance.connections[server].channels[channel].nicks;
                    var isOnline = _.any(onlineNicks, function(nick) {
                        nick = nick.name;
                        return _.include(possiNicks, nick); 
                    }, this);

                    callback(isOnline);
                }
            });
Example #9
0
                this.api.getImageInfo(slug, function(imgData) {
                    if(!_.isUndefined(imgData) && 
                            imgData.data && 
                            imgData.data.height > 500 && imgData.data.width > 500 &&
                            !_.any(this.ExcludeRes, function(res) {
                                return imgData.data.height == res.h && imgData.data.width == res.w;
                            })) {
                        callback(url, imgData);
                    } else if(fbman === true) {
		    	callback(url, imgData);
		    } else {
                        this.api.getGoodRandomImage(callback);
                    }
                }.bind(this));
Example #10
0
    _.each(self.grapher.pages, function (page) {
      var pageDomain = urlParser.parse(page.url).hostname,
          isIncluded = _.any(page.links, function (link) {
            return fn.sameUrl(link, self.url);
          });

      if (isIncluded && pageDomain !== selfDomain) {
        if (page.verified) {
          rtnObj.verified++;
        } else {
          rtnObj.unverified++;
        }
      }
    });
Example #11
0
 getTimeForMoving: function(from, to, ship) {
     'use strict';
     var self = this,
         oneTileTime = this.getTimeForOneTile(),
         tileDistance,
         isDiagonal,
         time;
     tileDistance = (function() {
         var a = to.x - from.x,
             b = to.y - from.y;
         if (a === 0) {
             if (b < 0) {
                 return -b;
             }
             return b;
         }
         if (a < 0) {
             return -a;
         }
         return a;
     }());
     isDiagonal = to.x - from.x !== 0 && to.y - from.y !== 0;
     if (isDiagonal) {
         time = tileDistance * oneTileTime * 1.41421356;
     } else {
         time = tileDistance * oneTileTime;
     }
     if (_.any(ship.at(from.x, from.y), function(u) {
             //an enemy blocks
             return u.isAlive() && u.ownerID !== self.ownerID && u.blocking;
         })) {
         //takes 4 times longer
         time *= 4;
     }
     return time;
 },
Example #12
0
var _containsPK = function(columns) {
  return _.any(columns.values,"pk");
}
Example #13
0
 _.each(words, function(word) {
     if(this.isUpperCase(word)) capitals++;
     if(_.any(this.config.curses, function(curse) { return word.toLowerCase().indexOf(curse) != -1; })) {
         curses++;
     }
 }, this);
Example #14
0
 isPlayerInIt: function(playerID) {
     'use strict';
     return _.any(this.battleModel.getPlayers(), function(id) {
         return id === playerID;
     });
 },
Example #15
0
 this.isPlayerReady = function(playerID) {
     return _.any(this.playersSubmitted, function(id) {
         return id === playerID;
     });
 };