class GithubFavoriteLanguage

Constants

VERSION

Public Class Methods

new(username:) click to toggle source
# File lib/github_favorite_language.rb, line 4
def initialize(username:)
  @username = username.strip
  raise UsernameWhitespaceOrEmpty if @username.empty?
  @github_api = GithubAPI.new
end
print_usage() click to toggle source

Public Instance Methods

favorite_language() click to toggle source
# File lib/github_favorite_language.rb, line 10
def favorite_language
  repos = @github_api.repos(user: @username)

  languages = Hash.new(0)
  repos.map do |repo|
    languages[repo["language"]] += repo["size"] unless repo["language"].nil? || repo["language"].empty?
  end
  
  languages.max_by { |lang, size| size }.first unless languages.empty?
end
print_favorite_language() click to toggle source

Private Instance Methods

print_message(message:) click to toggle source
print_no_public_repos() click to toggle source
print_username_not_found() click to toggle source