class FavLanguage::LanguageStats
Attributes
token[R]
username[R]
Public Class Methods
new(username:, token: nil, repo_list_class: RepoList)
click to toggle source
# File lib/fav_language/language_stats.rb, line 3 def initialize(username:, token: nil, repo_list_class: RepoList) @username = username @token = token @repo_list_class = repo_list_class end
Public Instance Methods
fetch()
click to toggle source
# File lib/fav_language/language_stats.rb, line 9 def fetch language_stats.group_by(&:language).map do |language, stats| OpenStruct.new(language: language, weight: stats.inject(0){ |sum, next_one| sum + next_one.bytes }) end end
Private Instance Methods
github()
click to toggle source
# File lib/fav_language/language_stats.rb, line 22 def github @github ||= Github.new(oauth_token: token || ENV['GH_AUTH_TOKEN']) end
language_stats()
click to toggle source
# File lib/fav_language/language_stats.rb, line 18 def language_stats @repo_list_class.new(github: github, username: username).language_stats end