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
# File lib/fav_language/detector.rb, line 9 def print message = favourite_languages.map do |weighted_language| "#{weighted_language.language}: #{weighted_language.weight} bytes written" end.join("\n") puts message end
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