class GithubActivity
Attributes
date[R]
json[R]
response[R]
Public Class Methods
new(username, date = Date.today)
click to toggle source
# File lib/github_activity.rb, line 8 def initialize(username, date = Date.today) @username = username @date = date @json = RestClient.get("https://github-contributions-api.herokuapp.com/#{@username}/count") @response = JSON.parse(@json) end
Public Instance Methods
last_month()
click to toggle source
# File lib/github_activity.rb, line 23 def last_month end
last_week()
click to toggle source
# File lib/github_activity.rb, line 19 def last_week get_activity(6) end
today()
click to toggle source
# File lib/github_activity.rb, line 15 def today response['data'][date.year.to_s][date.month.to_s][date.day.to_s] end
Private Instance Methods
get_activity(num_days)
click to toggle source
# File lib/github_activity.rb, line 28 def get_activity(num_days) ((date - num_days)..date).to_a.sum do |prev_date| get_score(prev_date) end end
get_score(prev_date)
click to toggle source
# File lib/github_activity.rb, line 34 def get_score(prev_date) num = response['data'][prev_date.year.to_s][prev_date.month.to_s][prev_date.day.to_s] num.nil? ? 0 : num end