| 245 | |
| 246 | view.userStatus = getUserStatus(); |
| 247 | function getUserStatus() { |
| 248 | var COEF_REPOS = 2; |
| 249 | var COEF_GISTS = 0.25; |
| 250 | var COEF_FOLLOWERS = 0.5; |
| 251 | var COEF_FOLLOWING = 0.25; |
| 252 | var FIRST_STEP = 0; |
| 253 | var SECOND_STEP = 5; |
| 254 | var THIRD_STEP = 20; |
| 255 | var FOURTH_STEP = 50; |
| 256 | var FIFTH_STEP = 150; |
| 257 | var EXTRA_POINT_GAIN = 1; |
| 258 | |
| 259 | var statusScore = data.public_repos * COEF_REPOS |
| 260 | + data.public_gists * COEF_GISTS |
| 261 | + data.followers * COEF_FOLLOWERS |
| 262 | + data.following * COEF_FOLLOWING; |
| 263 | |
| 264 | // Extra points |
| 265 | // - Early adopter |
| 266 | if (view.earlyAdopter == 1) { |
| 267 | statusScore += EXTRA_POINT_GAIN; |
| 268 | } |
| 269 | // - Blog & Email & Location |
| 270 | if (view.location && view.location != '' && view.email && view.email != '' && data.blog && data.blog != '') { |
| 271 | statusScore += EXTRA_POINT_GAIN; |
| 272 | } |
| 273 | |
| 274 | if (statusScore == FIRST_STEP) { |
| 275 | return 'Inactive GitHub user'; |
| 276 | } |
| 277 | else if (statusScore > FIRST_STEP && statusScore <= SECOND_STEP) { |
| 278 | return 'Newbie GitHub user'; |
| 279 | } |
| 280 | else if (statusScore > SECOND_STEP && statusScore <= THIRD_STEP) { |
| 281 | return 'Regular GitHub user'; |
| 282 | } |
| 283 | else if (statusScore > THIRD_STEP && statusScore <= FOURTH_STEP) { |
| 284 | return 'Advanced GitHub user'; |
| 285 | } |
| 286 | else if (statusScore > FOURTH_STEP && statusScore <= FIFTH_STEP) { |
| 287 | return 'Enthusiastic GitHub user'; |
| 288 | } |
| 289 | else if (statusScore > FIFTH_STEP) { |
| 290 | return 'Passionate GitHub user'; |
| 291 | } |
| 292 | }; |
| 293 | |
| 294 | if (data.blog !== undefined && data.blog !== null && data.blog !== '') { |
| 295 | view.website = addHttp + data.blog; |