2018-11-23 00:36:39 +00:00
|
|
|
# Copyright 2015 Google Inc.
|
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
|
|
|
|
require 'date'
|
|
|
|
require 'google/apis/core/base_service'
|
|
|
|
require 'google/apis/core/json_representation'
|
|
|
|
require 'google/apis/core/hashable'
|
|
|
|
require 'google/apis/errors'
|
|
|
|
|
|
|
|
module Google
|
|
|
|
module Apis
|
|
|
|
module PagespeedonlineV5
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# A light reference to an audit by id, used to group and weight audits in a
|
|
|
|
# given category.
|
|
|
|
class AuditRefs
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The category group that the audit belongs to (optional).
|
|
|
|
# Corresponds to the JSON property `group`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :group
|
|
|
|
|
|
|
|
# The audit ref id.
|
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :id
|
|
|
|
|
|
|
|
# The weight this audit's score has on the overall category score.
|
|
|
|
# Corresponds to the JSON property `weight`
|
|
|
|
# @return [Float]
|
|
|
|
attr_accessor :weight
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@group = args[:group] if args.key?(:group)
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
@weight = args[:weight] if args.key?(:weight)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# A proportion of data in the total distribution, bucketed by a min/max
|
2020-08-15 00:38:25 +00:00
|
|
|
# percentage. Each bucket's range is bounded by min <= x < max, In millisecond.
|
2020-01-29 00:37:31 +00:00
|
|
|
class Bucket
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# Upper bound for a bucket's range.
|
|
|
|
# Corresponds to the JSON property `max`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :max
|
|
|
|
|
|
|
|
# Lower bound for a bucket's range.
|
|
|
|
# Corresponds to the JSON property `min`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :min
|
|
|
|
|
|
|
|
# The proportion of data in this bucket.
|
|
|
|
# Corresponds to the JSON property `proportion`
|
|
|
|
# @return [Float]
|
|
|
|
attr_accessor :proportion
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@max = args[:max] if args.key?(:max)
|
|
|
|
@min = args[:min] if args.key?(:min)
|
|
|
|
@proportion = args[:proportion] if args.key?(:proportion)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# The categories in a Lighthouse run.
|
|
|
|
class Categories
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# A Lighthouse category.
|
|
|
|
# Corresponds to the JSON property `accessibility`
|
|
|
|
# @return [Google::Apis::PagespeedonlineV5::LighthouseCategoryV5]
|
|
|
|
attr_accessor :accessibility
|
|
|
|
|
|
|
|
# A Lighthouse category.
|
|
|
|
# Corresponds to the JSON property `best-practices`
|
|
|
|
# @return [Google::Apis::PagespeedonlineV5::LighthouseCategoryV5]
|
|
|
|
attr_accessor :best_practices
|
|
|
|
|
|
|
|
# A Lighthouse category.
|
|
|
|
# Corresponds to the JSON property `performance`
|
|
|
|
# @return [Google::Apis::PagespeedonlineV5::LighthouseCategoryV5]
|
|
|
|
attr_accessor :performance
|
|
|
|
|
|
|
|
# A Lighthouse category.
|
|
|
|
# Corresponds to the JSON property `pwa`
|
|
|
|
# @return [Google::Apis::PagespeedonlineV5::LighthouseCategoryV5]
|
|
|
|
attr_accessor :pwa
|
|
|
|
|
|
|
|
# A Lighthouse category.
|
|
|
|
# Corresponds to the JSON property `seo`
|
|
|
|
# @return [Google::Apis::PagespeedonlineV5::LighthouseCategoryV5]
|
|
|
|
attr_accessor :seo
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@accessibility = args[:accessibility] if args.key?(:accessibility)
|
|
|
|
@best_practices = args[:best_practices] if args.key?(:best_practices)
|
|
|
|
@performance = args[:performance] if args.key?(:performance)
|
|
|
|
@pwa = args[:pwa] if args.key?(:pwa)
|
|
|
|
@seo = args[:seo] if args.key?(:seo)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Message containing a category
|
|
|
|
class CategoryGroupV5
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The description of what the category is grouping
|
|
|
|
# Corresponds to the JSON property `description`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :description
|
|
|
|
|
|
|
|
# The human readable title of the group
|
|
|
|
# Corresponds to the JSON property `title`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :title
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@description = args[:description] if args.key?(:description)
|
|
|
|
@title = args[:title] if args.key?(:title)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Message containing the configuration settings for the Lighthouse run.
|
|
|
|
class ConfigSettings
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-15 00:38:25 +00:00
|
|
|
# How Lighthouse was run, e.g. from the Chrome extension or from the npm module.
|
2020-01-29 00:37:31 +00:00
|
|
|
# Corresponds to the JSON property `channel`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :channel
|
|
|
|
|
|
|
|
# The form factor the emulation should use.
|
|
|
|
# Corresponds to the JSON property `emulatedFormFactor`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :emulated_form_factor
|
|
|
|
|
|
|
|
# The locale setting.
|
|
|
|
# Corresponds to the JSON property `locale`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :locale
|
|
|
|
|
|
|
|
# List of categories of audits the run should conduct.
|
|
|
|
# Corresponds to the JSON property `onlyCategories`
|
|
|
|
# @return [Object]
|
|
|
|
attr_accessor :only_categories
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@channel = args[:channel] if args.key?(:channel)
|
|
|
|
@emulated_form_factor = args[:emulated_form_factor] if args.key?(:emulated_form_factor)
|
|
|
|
@locale = args[:locale] if args.key?(:locale)
|
|
|
|
@only_categories = args[:only_categories] if args.key?(:only_categories)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Message containing environment configuration for a Lighthouse run.
|
|
|
|
class Environment
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The benchmark index number that indicates rough device class.
|
|
|
|
# Corresponds to the JSON property `benchmarkIndex`
|
|
|
|
# @return [Float]
|
|
|
|
attr_accessor :benchmark_index
|
|
|
|
|
|
|
|
# The user agent string of the version of Chrome used.
|
|
|
|
# Corresponds to the JSON property `hostUserAgent`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :host_user_agent
|
|
|
|
|
|
|
|
# The user agent string that was sent over the network.
|
|
|
|
# Corresponds to the JSON property `networkUserAgent`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :network_user_agent
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@benchmark_index = args[:benchmark_index] if args.key?(:benchmark_index)
|
|
|
|
@host_user_agent = args[:host_user_agent] if args.key?(:host_user_agent)
|
|
|
|
@network_user_agent = args[:network_user_agent] if args.key?(:network_user_agent)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Message containing the i18n data for the LHR - Version 1.
|
|
|
|
class I18n
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# Message holding the formatted strings used in the renderer.
|
|
|
|
# Corresponds to the JSON property `rendererFormattedStrings`
|
|
|
|
# @return [Google::Apis::PagespeedonlineV5::RendererFormattedStrings]
|
|
|
|
attr_accessor :renderer_formatted_strings
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@renderer_formatted_strings = args[:renderer_formatted_strings] if args.key?(:renderer_formatted_strings)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# An audit's result object in a Lighthouse result.
|
2018-11-23 00:36:39 +00:00
|
|
|
class LighthouseAuditResultV5
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The description of the audit.
|
|
|
|
# Corresponds to the JSON property `description`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :description
|
|
|
|
|
|
|
|
# Freeform details section of the audit.
|
|
|
|
# Corresponds to the JSON property `details`
|
|
|
|
# @return [Hash<String,Object>]
|
|
|
|
attr_accessor :details
|
|
|
|
|
|
|
|
# The value that should be displayed on the UI for this audit.
|
|
|
|
# Corresponds to the JSON property `displayValue`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :display_value
|
|
|
|
|
|
|
|
# An error message from a thrown error inside the audit.
|
|
|
|
# Corresponds to the JSON property `errorMessage`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :error_message
|
|
|
|
|
|
|
|
# An explanation of the errors in the audit.
|
|
|
|
# Corresponds to the JSON property `explanation`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :explanation
|
|
|
|
|
|
|
|
# The audit's id.
|
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :id
|
|
|
|
|
2020-08-15 00:38:25 +00:00
|
|
|
# A numeric value that has a meaning specific to the audit, e.g. the number of
|
|
|
|
# nodes in the DOM or the timestamp of a specific load event. More information
|
|
|
|
# can be found in the audit details, if present.
|
2019-11-09 00:38:07 +00:00
|
|
|
# Corresponds to the JSON property `numericValue`
|
|
|
|
# @return [Float]
|
|
|
|
attr_accessor :numeric_value
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# The score of the audit, can be null.
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `score`
|
|
|
|
# @return [Object]
|
|
|
|
attr_accessor :score
|
|
|
|
|
|
|
|
# The enumerated score display mode.
|
|
|
|
# Corresponds to the JSON property `scoreDisplayMode`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :score_display_mode
|
|
|
|
|
|
|
|
# The human readable title.
|
|
|
|
# Corresponds to the JSON property `title`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :title
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# Possible warnings that occurred in the audit, can be null.
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `warnings`
|
|
|
|
# @return [Object]
|
|
|
|
attr_accessor :warnings
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@description = args[:description] if args.key?(:description)
|
|
|
|
@details = args[:details] if args.key?(:details)
|
|
|
|
@display_value = args[:display_value] if args.key?(:display_value)
|
|
|
|
@error_message = args[:error_message] if args.key?(:error_message)
|
|
|
|
@explanation = args[:explanation] if args.key?(:explanation)
|
|
|
|
@id = args[:id] if args.key?(:id)
|
2019-11-09 00:38:07 +00:00
|
|
|
@numeric_value = args[:numeric_value] if args.key?(:numeric_value)
|
2018-11-23 00:36:39 +00:00
|
|
|
@score = args[:score] if args.key?(:score)
|
|
|
|
@score_display_mode = args[:score_display_mode] if args.key?(:score_display_mode)
|
|
|
|
@title = args[:title] if args.key?(:title)
|
|
|
|
@warnings = args[:warnings] if args.key?(:warnings)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# A Lighthouse category.
|
2018-11-23 00:36:39 +00:00
|
|
|
class LighthouseCategoryV5
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# An array of references to all the audit members of this category.
|
|
|
|
# Corresponds to the JSON property `auditRefs`
|
2020-01-29 00:37:31 +00:00
|
|
|
# @return [Array<Google::Apis::PagespeedonlineV5::AuditRefs>]
|
2018-11-23 00:36:39 +00:00
|
|
|
attr_accessor :audit_refs
|
|
|
|
|
|
|
|
# A more detailed description of the category and its importance.
|
|
|
|
# Corresponds to the JSON property `description`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :description
|
|
|
|
|
|
|
|
# The string identifier of the category.
|
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :id
|
|
|
|
|
|
|
|
# A description for the manual audits in the category.
|
|
|
|
# Corresponds to the JSON property `manualDescription`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :manual_description
|
|
|
|
|
2020-08-15 00:38:25 +00:00
|
|
|
# The overall score of the category, the weighted average of all its audits. (
|
|
|
|
# The category's score, can be null.)
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `score`
|
|
|
|
# @return [Object]
|
|
|
|
attr_accessor :score
|
|
|
|
|
|
|
|
# The human-friendly name of the category.
|
|
|
|
# Corresponds to the JSON property `title`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :title
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@audit_refs = args[:audit_refs] if args.key?(:audit_refs)
|
|
|
|
@description = args[:description] if args.key?(:description)
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
@manual_description = args[:manual_description] if args.key?(:manual_description)
|
|
|
|
@score = args[:score] if args.key?(:score)
|
|
|
|
@title = args[:title] if args.key?(:title)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# The Lighthouse result object.
|
2018-11-23 00:36:39 +00:00
|
|
|
class LighthouseResultV5
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# Map of audits in the LHR.
|
|
|
|
# Corresponds to the JSON property `audits`
|
|
|
|
# @return [Hash<String,Google::Apis::PagespeedonlineV5::LighthouseAuditResultV5>]
|
|
|
|
attr_accessor :audits
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# The categories in a Lighthouse run.
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `categories`
|
2020-01-29 00:37:31 +00:00
|
|
|
# @return [Google::Apis::PagespeedonlineV5::Categories]
|
2018-11-23 00:36:39 +00:00
|
|
|
attr_accessor :categories
|
|
|
|
|
|
|
|
# Map of category groups in the LHR.
|
|
|
|
# Corresponds to the JSON property `categoryGroups`
|
2020-01-29 00:37:31 +00:00
|
|
|
# @return [Hash<String,Google::Apis::PagespeedonlineV5::CategoryGroupV5>]
|
2018-11-23 00:36:39 +00:00
|
|
|
attr_accessor :category_groups
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# Message containing the configuration settings for the Lighthouse run.
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `configSettings`
|
2020-01-29 00:37:31 +00:00
|
|
|
# @return [Google::Apis::PagespeedonlineV5::ConfigSettings]
|
2018-11-23 00:36:39 +00:00
|
|
|
attr_accessor :config_settings
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# Message containing environment configuration for a Lighthouse run.
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `environment`
|
2020-01-29 00:37:31 +00:00
|
|
|
# @return [Google::Apis::PagespeedonlineV5::Environment]
|
2018-11-23 00:36:39 +00:00
|
|
|
attr_accessor :environment
|
|
|
|
|
|
|
|
# The time that this run was fetched.
|
|
|
|
# Corresponds to the JSON property `fetchTime`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :fetch_time
|
|
|
|
|
|
|
|
# The final resolved url that was audited.
|
|
|
|
# Corresponds to the JSON property `finalUrl`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :final_url
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# Message containing the i18n data for the LHR - Version 1.
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `i18n`
|
2020-01-29 00:37:31 +00:00
|
|
|
# @return [Google::Apis::PagespeedonlineV5::I18n]
|
2018-11-23 00:36:39 +00:00
|
|
|
attr_accessor :i18n
|
|
|
|
|
|
|
|
# The lighthouse version that was used to generate this LHR.
|
|
|
|
# Corresponds to the JSON property `lighthouseVersion`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :lighthouse_version
|
|
|
|
|
|
|
|
# The original requested url.
|
|
|
|
# Corresponds to the JSON property `requestedUrl`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :requested_url
|
|
|
|
|
2020-08-15 00:38:25 +00:00
|
|
|
# List of all run warnings in the LHR. Will always output to at least `[]`.
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `runWarnings`
|
|
|
|
# @return [Array<Object>]
|
|
|
|
attr_accessor :run_warnings
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# Message containing a runtime error config.
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `runtimeError`
|
2020-01-29 00:37:31 +00:00
|
|
|
# @return [Google::Apis::PagespeedonlineV5::RuntimeError]
|
2018-11-23 00:36:39 +00:00
|
|
|
attr_accessor :runtime_error
|
|
|
|
|
2019-05-09 00:37:30 +00:00
|
|
|
# The Stack Pack advice strings.
|
|
|
|
# Corresponds to the JSON property `stackPacks`
|
2020-01-29 00:37:31 +00:00
|
|
|
# @return [Array<Google::Apis::PagespeedonlineV5::StackPack>]
|
2019-05-09 00:37:30 +00:00
|
|
|
attr_accessor :stack_packs
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# Message containing the performance timing data for the Lighthouse run.
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `timing`
|
2020-01-29 00:37:31 +00:00
|
|
|
# @return [Google::Apis::PagespeedonlineV5::Timing]
|
2018-11-23 00:36:39 +00:00
|
|
|
attr_accessor :timing
|
|
|
|
|
|
|
|
# The user agent that was used to run this LHR.
|
|
|
|
# Corresponds to the JSON property `userAgent`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :user_agent
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@audits = args[:audits] if args.key?(:audits)
|
|
|
|
@categories = args[:categories] if args.key?(:categories)
|
|
|
|
@category_groups = args[:category_groups] if args.key?(:category_groups)
|
|
|
|
@config_settings = args[:config_settings] if args.key?(:config_settings)
|
|
|
|
@environment = args[:environment] if args.key?(:environment)
|
|
|
|
@fetch_time = args[:fetch_time] if args.key?(:fetch_time)
|
|
|
|
@final_url = args[:final_url] if args.key?(:final_url)
|
|
|
|
@i18n = args[:i18n] if args.key?(:i18n)
|
|
|
|
@lighthouse_version = args[:lighthouse_version] if args.key?(:lighthouse_version)
|
|
|
|
@requested_url = args[:requested_url] if args.key?(:requested_url)
|
|
|
|
@run_warnings = args[:run_warnings] if args.key?(:run_warnings)
|
|
|
|
@runtime_error = args[:runtime_error] if args.key?(:runtime_error)
|
2019-05-09 00:37:30 +00:00
|
|
|
@stack_packs = args[:stack_packs] if args.key?(:stack_packs)
|
2018-11-23 00:36:39 +00:00
|
|
|
@timing = args[:timing] if args.key?(:timing)
|
|
|
|
@user_agent = args[:user_agent] if args.key?(:user_agent)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# The CrUX loading experience object that contains CrUX data breakdowns.
|
2018-11-23 00:36:39 +00:00
|
|
|
class PagespeedApiLoadingExperienceV5
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The url, pattern or origin which the metrics are on.
|
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :id
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# The requested URL, which may differ from the resolved "id".
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `initial_url`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :initial_url
|
|
|
|
|
2020-08-15 00:38:25 +00:00
|
|
|
# The map of .
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `metrics`
|
2020-01-29 00:37:31 +00:00
|
|
|
# @return [Hash<String,Google::Apis::PagespeedonlineV5::UserPageLoadMetricV5>]
|
2018-11-23 00:36:39 +00:00
|
|
|
attr_accessor :metrics
|
|
|
|
|
2020-06-10 00:38:16 +00:00
|
|
|
# True if the result is an origin fallback from a page, false otherwise.
|
|
|
|
# Corresponds to the JSON property `origin_fallback`
|
|
|
|
# @return [Boolean]
|
|
|
|
attr_accessor :origin_fallback
|
|
|
|
alias_method :origin_fallback?, :origin_fallback
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# The human readable speed "category" of the id.
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `overall_category`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :overall_category
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
@initial_url = args[:initial_url] if args.key?(:initial_url)
|
|
|
|
@metrics = args[:metrics] if args.key?(:metrics)
|
2020-06-10 00:38:16 +00:00
|
|
|
@origin_fallback = args[:origin_fallback] if args.key?(:origin_fallback)
|
2018-11-23 00:36:39 +00:00
|
|
|
@overall_category = args[:overall_category] if args.key?(:overall_category)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# The Pagespeed API response object.
|
2018-11-23 00:36:39 +00:00
|
|
|
class PagespeedApiPagespeedResponseV5
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The UTC timestamp of this analysis.
|
|
|
|
# Corresponds to the JSON property `analysisUTCTimestamp`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :analysis_utc_timestamp
|
|
|
|
|
|
|
|
# The captcha verify result
|
|
|
|
# Corresponds to the JSON property `captchaResult`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :captcha_result
|
|
|
|
|
2020-08-15 00:38:25 +00:00
|
|
|
# Canonicalized and final URL for the document, after following page redirects (
|
|
|
|
# if any).
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :id
|
|
|
|
|
|
|
|
# Kind of result.
|
|
|
|
# Corresponds to the JSON property `kind`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :kind
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# The Lighthouse result object.
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `lighthouseResult`
|
|
|
|
# @return [Google::Apis::PagespeedonlineV5::LighthouseResultV5]
|
|
|
|
attr_accessor :lighthouse_result
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# The CrUX loading experience object that contains CrUX data breakdowns.
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `loadingExperience`
|
|
|
|
# @return [Google::Apis::PagespeedonlineV5::PagespeedApiLoadingExperienceV5]
|
|
|
|
attr_accessor :loading_experience
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# The CrUX loading experience object that contains CrUX data breakdowns.
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `originLoadingExperience`
|
|
|
|
# @return [Google::Apis::PagespeedonlineV5::PagespeedApiLoadingExperienceV5]
|
|
|
|
attr_accessor :origin_loading_experience
|
|
|
|
|
2020-01-29 00:37:31 +00:00
|
|
|
# The Pagespeed Version object.
|
2018-11-23 00:36:39 +00:00
|
|
|
# Corresponds to the JSON property `version`
|
2020-01-29 00:37:31 +00:00
|
|
|
# @return [Google::Apis::PagespeedonlineV5::PagespeedVersion]
|
2018-11-23 00:36:39 +00:00
|
|
|
attr_accessor :version
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@analysis_utc_timestamp = args[:analysis_utc_timestamp] if args.key?(:analysis_utc_timestamp)
|
|
|
|
@captcha_result = args[:captcha_result] if args.key?(:captcha_result)
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
|
|
@lighthouse_result = args[:lighthouse_result] if args.key?(:lighthouse_result)
|
|
|
|
@loading_experience = args[:loading_experience] if args.key?(:loading_experience)
|
|
|
|
@origin_loading_experience = args[:origin_loading_experience] if args.key?(:origin_loading_experience)
|
|
|
|
@version = args[:version] if args.key?(:version)
|
|
|
|
end
|
2020-01-29 00:37:31 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
# The Pagespeed Version object.
|
|
|
|
class PagespeedVersion
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The major version number of PageSpeed used to generate these results.
|
|
|
|
# Corresponds to the JSON property `major`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :major
|
|
|
|
|
|
|
|
# The minor version number of PageSpeed used to generate these results.
|
|
|
|
# Corresponds to the JSON property `minor`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :minor
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@major = args[:major] if args.key?(:major)
|
|
|
|
@minor = args[:minor] if args.key?(:minor)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Message holding the formatted strings used in the renderer.
|
|
|
|
class RendererFormattedStrings
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The tooltip text on an expandable chevron icon.
|
|
|
|
# Corresponds to the JSON property `auditGroupExpandTooltip`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :audit_group_expand_tooltip
|
|
|
|
|
|
|
|
# The label for the initial request in a critical request chain.
|
|
|
|
# Corresponds to the JSON property `crcInitialNavigation`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :crc_initial_navigation
|
|
|
|
|
|
|
|
# The label for values shown in the summary of critical request chains.
|
|
|
|
# Corresponds to the JSON property `crcLongestDurationLabel`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :crc_longest_duration_label
|
|
|
|
|
|
|
|
# The label shown next to an audit or metric that has had an error.
|
|
|
|
# Corresponds to the JSON property `errorLabel`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :error_label
|
|
|
|
|
|
|
|
# The error string shown next to an erroring audit.
|
|
|
|
# Corresponds to the JSON property `errorMissingAuditInfo`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :error_missing_audit_info
|
|
|
|
|
|
|
|
# The title of the lab data performance category.
|
|
|
|
# Corresponds to the JSON property `labDataTitle`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :lab_data_title
|
|
|
|
|
2020-08-15 00:38:25 +00:00
|
|
|
# The disclaimer shown under performance explaning that the network can vary.
|
2020-01-29 00:37:31 +00:00
|
|
|
# Corresponds to the JSON property `lsPerformanceCategoryDescription`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :ls_performance_category_description
|
|
|
|
|
2020-08-15 00:38:25 +00:00
|
|
|
# The heading shown above a list of audits that were not computerd in the run.
|
2020-01-29 00:37:31 +00:00
|
|
|
# Corresponds to the JSON property `manualAuditsGroupTitle`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :manual_audits_group_title
|
|
|
|
|
|
|
|
# The heading shown above a list of audits that do not apply to a page.
|
|
|
|
# Corresponds to the JSON property `notApplicableAuditsGroupTitle`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :not_applicable_audits_group_title
|
|
|
|
|
2020-08-15 00:38:25 +00:00
|
|
|
# The heading for the estimated page load savings opportunity of an audit.
|
2020-01-29 00:37:31 +00:00
|
|
|
# Corresponds to the JSON property `opportunityResourceColumnLabel`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :opportunity_resource_column_label
|
|
|
|
|
|
|
|
# The heading for the estimated page load savings of opportunity audits.
|
|
|
|
# Corresponds to the JSON property `opportunitySavingsColumnLabel`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :opportunity_savings_column_label
|
|
|
|
|
|
|
|
# The heading that is shown above a list of audits that are passing.
|
|
|
|
# Corresponds to the JSON property `passedAuditsGroupTitle`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :passed_audits_group_title
|
|
|
|
|
|
|
|
# The label that explains the score gauges scale (0-49, 50-89, 90-100).
|
|
|
|
# Corresponds to the JSON property `scorescaleLabel`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :scorescale_label
|
|
|
|
|
2020-08-15 00:38:25 +00:00
|
|
|
# The label shown preceding important warnings that may have invalidated an
|
|
|
|
# entire report.
|
2020-01-29 00:37:31 +00:00
|
|
|
# Corresponds to the JSON property `toplevelWarningsMessage`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :toplevel_warnings_message
|
|
|
|
|
|
|
|
# The disclaimer shown below a performance metric value.
|
|
|
|
# Corresponds to the JSON property `varianceDisclaimer`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :variance_disclaimer
|
|
|
|
|
|
|
|
# The label shown above a bulleted list of warnings.
|
|
|
|
# Corresponds to the JSON property `warningHeader`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :warning_header
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@audit_group_expand_tooltip = args[:audit_group_expand_tooltip] if args.key?(:audit_group_expand_tooltip)
|
|
|
|
@crc_initial_navigation = args[:crc_initial_navigation] if args.key?(:crc_initial_navigation)
|
|
|
|
@crc_longest_duration_label = args[:crc_longest_duration_label] if args.key?(:crc_longest_duration_label)
|
|
|
|
@error_label = args[:error_label] if args.key?(:error_label)
|
|
|
|
@error_missing_audit_info = args[:error_missing_audit_info] if args.key?(:error_missing_audit_info)
|
|
|
|
@lab_data_title = args[:lab_data_title] if args.key?(:lab_data_title)
|
|
|
|
@ls_performance_category_description = args[:ls_performance_category_description] if args.key?(:ls_performance_category_description)
|
|
|
|
@manual_audits_group_title = args[:manual_audits_group_title] if args.key?(:manual_audits_group_title)
|
|
|
|
@not_applicable_audits_group_title = args[:not_applicable_audits_group_title] if args.key?(:not_applicable_audits_group_title)
|
|
|
|
@opportunity_resource_column_label = args[:opportunity_resource_column_label] if args.key?(:opportunity_resource_column_label)
|
|
|
|
@opportunity_savings_column_label = args[:opportunity_savings_column_label] if args.key?(:opportunity_savings_column_label)
|
|
|
|
@passed_audits_group_title = args[:passed_audits_group_title] if args.key?(:passed_audits_group_title)
|
|
|
|
@scorescale_label = args[:scorescale_label] if args.key?(:scorescale_label)
|
|
|
|
@toplevel_warnings_message = args[:toplevel_warnings_message] if args.key?(:toplevel_warnings_message)
|
|
|
|
@variance_disclaimer = args[:variance_disclaimer] if args.key?(:variance_disclaimer)
|
|
|
|
@warning_header = args[:warning_header] if args.key?(:warning_header)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Message containing a runtime error config.
|
|
|
|
class RuntimeError
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The enumerated Lighthouse Error code.
|
|
|
|
# Corresponds to the JSON property `code`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :code
|
|
|
|
|
|
|
|
# A human readable message explaining the error code.
|
|
|
|
# Corresponds to the JSON property `message`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :message
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@code = args[:code] if args.key?(:code)
|
|
|
|
@message = args[:message] if args.key?(:message)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Message containing Stack Pack information.
|
|
|
|
class StackPack
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The stack pack advice strings.
|
|
|
|
# Corresponds to the JSON property `descriptions`
|
|
|
|
# @return [Hash<String,String>]
|
|
|
|
attr_accessor :descriptions
|
|
|
|
|
|
|
|
# The stack pack icon data uri.
|
|
|
|
# Corresponds to the JSON property `iconDataURL`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :icon_data_url
|
|
|
|
|
|
|
|
# The stack pack id.
|
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :id
|
|
|
|
|
|
|
|
# The stack pack title.
|
|
|
|
# Corresponds to the JSON property `title`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :title
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@descriptions = args[:descriptions] if args.key?(:descriptions)
|
|
|
|
@icon_data_url = args[:icon_data_url] if args.key?(:icon_data_url)
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
@title = args[:title] if args.key?(:title)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Message containing the performance timing data for the Lighthouse run.
|
|
|
|
class Timing
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The total duration of Lighthouse's run.
|
|
|
|
# Corresponds to the JSON property `total`
|
|
|
|
# @return [Float]
|
|
|
|
attr_accessor :total
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@total = args[:total] if args.key?(:total)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# A CrUX metric object for a single metric and form factor.
|
|
|
|
class UserPageLoadMetricV5
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The category of the specific time metric.
|
|
|
|
# Corresponds to the JSON property `category`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :category
|
|
|
|
|
|
|
|
# Metric distributions. Proportions should sum up to 1.
|
|
|
|
# Corresponds to the JSON property `distributions`
|
|
|
|
# @return [Array<Google::Apis::PagespeedonlineV5::Bucket>]
|
|
|
|
attr_accessor :distributions
|
|
|
|
|
|
|
|
# Identifies the form factor of the metric being collected.
|
|
|
|
# Corresponds to the JSON property `formFactor`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :form_factor
|
|
|
|
|
|
|
|
# The median number of the metric, in millisecond.
|
|
|
|
# Corresponds to the JSON property `median`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :median
|
|
|
|
|
|
|
|
# Identifies the type of the metric.
|
|
|
|
# Corresponds to the JSON property `metricId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :metric_id
|
|
|
|
|
2020-08-15 00:38:25 +00:00
|
|
|
# We use this field to store certain percentile value for this metric. For v4,
|
|
|
|
# this field contains pc50. For v5, this field contains pc90.
|
2020-01-29 00:37:31 +00:00
|
|
|
# Corresponds to the JSON property `percentile`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :percentile
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@category = args[:category] if args.key?(:category)
|
|
|
|
@distributions = args[:distributions] if args.key?(:distributions)
|
|
|
|
@form_factor = args[:form_factor] if args.key?(:form_factor)
|
|
|
|
@median = args[:median] if args.key?(:median)
|
|
|
|
@metric_id = args[:metric_id] if args.key?(:metric_id)
|
|
|
|
@percentile = args[:percentile] if args.key?(:percentile)
|
2018-11-23 00:36:39 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|