class SiteHealth::GooglePageSpeed
Constants
- PagespeedService
- Pagespeedonline
Attributes
service[R]
Public Class Methods
new(*args, **keyword_args)
click to toggle source
Calls superclass method
SiteHealth::Checker::new
# File lib/site_health/checkers/google_page_speed.rb, line 18 def initialize(*args, **keyword_args) super(*args, **keyword_args) @service = PagespeedService.new @service.key = config.google_page_speed_api_key Google::Apis.logger = logger Google::Apis.logger.level = logger.level if logger.level end
Protected Instance Methods
check()
click to toggle source
# File lib/site_health/checkers/google_page_speed.rb, line 30 def check result = perform_request add_data(result) end
Private Instance Methods
perform_request(strategy: 'desktop')
click to toggle source
@return [Google::Apis::PagespeedonlineV2::Result, nil] Google page speed result
# File lib/site_health/checkers/google_page_speed.rb, line 38 def perform_request(strategy: 'desktop') service.run_pagespeed( page.url.to_s, locale: config.locale, strategy: strategy ).to_h rescue Google::Apis::ClientError => e # Google::Apis::ClientError: noDocumentLoaded: The URL was fetched, but nothing # was rendered. Ensure that the URL points to an HTML page that loads # successfully in a web browser. logger.error "#{page.url} failed: #{e.message}" rescue Google::Apis::ServerError => e logger.error "#{page.url} failed: #{e.message}" end