Sha256: 0afc3e9db1793f3340a8dd553c29ecc400eb0ad2570ee1b3ed499e4edb992680
Contents?: true
Size: 663 Bytes
Versions: 2
Compression:
Stored size: 663 Bytes
Contents
module Notu class Api DEFAULT_API_KEY = '91f5d6a201de58e0c0a0d858573dddf0'.freeze FORMAT = 'json'.freeze HOST = 'ws.audioscrobbler.com'.freeze VERSION = '2.0'.freeze attr_reader :api_key def initialize(api_key: DEFAULT_API_KEY) @api_key = api_key.try(:squish).presence || raise(Error.new('API key must be specified')) end def url(params = {}) params = (params || {}).symbolize_keys params.merge!(api_key:, format: FORMAT) query_string = params.map { |name, value| "#{CGI.escape(name.to_s)}=#{CGI.escape(value.to_s)}" }.join('&') "https://#{HOST}/#{VERSION}?#{query_string}" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
notu-5.0.1 | lib/notu/api.rb |
notu-5.0.0 | lib/notu/api.rb |