Class: Clearbit::Logo

Inherits:
Object
  • Object
show all
Defined in:
lib/clearbit/logo.rb

Constant Summary collapse

ENDPOINT =
'https://logo.clearbit.com'

Class Method Summary collapse

Class Method Details

.url(values) ⇒ Object Also known as: []



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