class FavLanguage::Detector

Attributes

token[R]
username[R]

Public Class Methods

new(username:, token: nil, stats_class: LanguageStats) click to toggle source
# File lib/fav_language/detector.rb, line 3
def initialize(username:, token: nil, stats_class: LanguageStats)
  @username = username
  @token = token
  @stats_class = stats_class
end

Public Instance Methods

favourite_languages() click to toggle source
# File lib/fav_language/detector.rb, line 16
def favourite_languages
  max_weight = weighted_languages.map(&:weight).max
  weighted_languages.select{ |lww| lww.weight == max_weight }
end
print() click to toggle source

Private Instance Methods

validate_username() click to toggle source
# File lib/fav_language/detector.rb, line 29
def validate_username
  if username.to_s.size == 0
    raise "Please provide GitHub username"
  end
end
weighted_languages() click to toggle source
# File lib/fav_language/detector.rb, line 24
def weighted_languages
  validate_username
  @weighted_languages ||= @stats_class.new(username: username, token: token).fetch
end