Class: BrandLogo::Strategies::Scraping::DefaultFaviconChecker

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/brand_logo/strategies/scraping/default_favicon_checker.rb

Overview

Checks whether the conventional /favicon.ico path exists for a domain. Extracted from UrlNormalizer to respect SRP: URL normalization ≠ HTTP verification.

Instance Method Summary collapse

Constructor Details

#initialize(http_client:) ⇒ DefaultFaviconChecker

Returns a new instance of DefaultFaviconChecker.



15
16
17
# File 'lib/brand_logo/strategies/scraping/default_favicon_checker.rb', line 15

def initialize(http_client:)
  @http_client = T.let(http_client, HttpClient)
end

Instance Method Details

#check(url) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/brand_logo/strategies/scraping/default_favicon_checker.rb', line 21

def check(url)
  return nil unless @http_client.head_success?(url)

  Icon.new(
    url: url,
    dimensions: Config::DEFAULT_DIMENSIONS,
    format: 'ico'
  )
end