module ChartsCountry
ChartsCountry — map user country names to KWORB Spotify chart codes. Public: resolve, weekly_url, display_name Tests: test/lib/charts_country_test.rb
Constants
- ALIAS_TO_CODE
- BASE_URL
- CODE_TO_NAME
- DEFAULT_CODE
Public Instance Methods
Source
# File lib/charts_country.rb, line 127 def display_name(code) CODE_TO_NAME.fetch(code.to_s.downcase, code.to_s.upcase) end
Source
# File lib/charts_country.rb, line 108 def resolve(query) text = query.to_s.strip if text.empty? code = DEFAULT_CODE return { code: code, name: display_name(code) } end key = text.downcase code = if key.match?(/\A[a-z]{2}\z/) && CODE_TO_NAME.key?(key) key else ALIAS_TO_CODE[key] end return { error: "Unknown country — try !charts usa, !charts germany, !charts uk" } unless code { code: code, name: display_name(code) } end
Source
# File lib/charts_country.rb, line 131 def weekly_url(code) "#{BASE_URL}/#{code.to_s.downcase}_weekly.html" end