class Shoutcast::Api::Url
Attributes
parameters[RW]
path[RW]
Public Class Methods
new(path:, key:, parameters: {})
click to toggle source
# File lib/shoutcast/api/url.rb, line 4 def initialize(path:, key:, parameters: {}) @path = path @parameters = { k: key } @parameters.merge!(parameters) unless parameters.nil? @parameters.delete_if { |_, value| value.nil? } end
Public Instance Methods
to_s()
click to toggle source
# File lib/shoutcast/api/url.rb, line 11 def to_s URI::HTTP.build( host: base_uri.host, path: base_uri.path, query: parameters_query ).to_s end
Private Instance Methods
base_uri()
click to toggle source
# File lib/shoutcast/api/url.rb, line 31 def base_uri @base_uri ||= URI.join("#{scheme}://#{host}", path) end
host()
click to toggle source
# File lib/shoutcast/api/url.rb, line 27 def host 'api.shoutcast.com' end
parameters_query()
click to toggle source
# File lib/shoutcast/api/url.rb, line 35 def parameters_query return '' if parameters.empty? URI.encode_www_form(parameters) end
scheme()
click to toggle source
# File lib/shoutcast/api/url.rb, line 23 def scheme 'http' end