5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/clearbit/logo.rb', line 5
def self.url(values)
params = values.delete(params) || {}
if size = values.delete(:size)
params.merge!(size: size)
end
if format = values.delete(:format)
params.merge!(format: format)
end
if greyscale = values.delete(:greyscale)
params.merge!(greyscale: greyscale)
end
encoded_params = URI.encode_www_form(params)
if domain = values.delete(:domain)
raise ArgumentError, 'Invalid domain' unless domain =~ /^[a-z0-9-]+(\.[a-z0-9-]+)*\.[a-z]{2,}$/
if encoded_params.empty?
"#{ENDPOINT}/#{domain}"
else
"#{ENDPOINT}/#{domain}?#{encoded_params}"
end
else
raise ArgumentError, 'Invalid values'
end
end
|