2015-06-23 23:05:46 +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 PagespeedonlineV2
|
|
|
|
|
|
|
|
#
|
2017-06-14 17:02:03 +00:00
|
|
|
class FormatString
|
2015-06-23 23:05:46 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# List of arguments for the format string.
|
|
|
|
# Corresponds to the JSON property `args`
|
2017-06-14 17:02:03 +00:00
|
|
|
# @return [Array<Google::Apis::PagespeedonlineV2::FormatString::Arg>]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :args
|
|
|
|
|
|
|
|
# A localized format string with ``FOO`` placeholders, where 'FOO' is the key of
|
|
|
|
# the argument whose value should be substituted. For HYPERLINK arguments, the
|
|
|
|
# format string will instead contain ``BEGIN_FOO`` and ``END_FOO`` for the
|
|
|
|
# argument with key 'FOO'.
|
|
|
|
# Corresponds to the JSON property `format`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :format
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@args = args[:args] if args.key?(:args)
|
|
|
|
@format = args[:format] if args.key?(:format)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
#
|
|
|
|
class Arg
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The placeholder key for this arg, as a string.
|
|
|
|
# Corresponds to the JSON property `key`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :key
|
|
|
|
|
|
|
|
# The screen rectangles being referred to, with dimensions measured in CSS
|
|
|
|
# pixels. This is only ever used for SNAPSHOT_RECT arguments. If this is absent
|
|
|
|
# for a SNAPSHOT_RECT argument, it means that that argument refers to the entire
|
|
|
|
# snapshot.
|
|
|
|
# Corresponds to the JSON property `rects`
|
2017-06-14 17:02:03 +00:00
|
|
|
# @return [Array<Google::Apis::PagespeedonlineV2::FormatString::Arg::Rect>]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :rects
|
|
|
|
|
|
|
|
# Secondary screen rectangles being referred to, with dimensions measured in CSS
|
|
|
|
# pixels. This is only ever used for SNAPSHOT_RECT arguments.
|
|
|
|
# Corresponds to the JSON property `secondary_rects`
|
2017-06-14 17:02:03 +00:00
|
|
|
# @return [Array<Google::Apis::PagespeedonlineV2::FormatString::Arg::SecondaryRect>]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :secondary_rects
|
|
|
|
|
|
|
|
# Type of argument. One of URL, STRING_LITERAL, INT_LITERAL, BYTES, DURATION,
|
|
|
|
# VERBATIM_STRING, PERCENTAGE, HYPERLINK, or SNAPSHOT_RECT.
|
|
|
|
# Corresponds to the JSON property `type`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :type
|
|
|
|
|
|
|
|
# Argument value, as a localized string.
|
|
|
|
# Corresponds to the JSON property `value`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :value
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@key = args[:key] if args.key?(:key)
|
|
|
|
@rects = args[:rects] if args.key?(:rects)
|
|
|
|
@secondary_rects = args[:secondary_rects] if args.key?(:secondary_rects)
|
|
|
|
@type = args[:type] if args.key?(:type)
|
|
|
|
@value = args[:value] if args.key?(:value)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
#
|
|
|
|
class Rect
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The height of the rect.
|
|
|
|
# Corresponds to the JSON property `height`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :height
|
|
|
|
|
|
|
|
# The left coordinate of the rect, in page coordinates.
|
|
|
|
# Corresponds to the JSON property `left`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :left
|
|
|
|
|
|
|
|
# The top coordinate of the rect, in page coordinates.
|
|
|
|
# Corresponds to the JSON property `top`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :top
|
|
|
|
|
|
|
|
# The width of the rect.
|
|
|
|
# Corresponds to the JSON property `width`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :width
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@height = args[:height] if args.key?(:height)
|
|
|
|
@left = args[:left] if args.key?(:left)
|
|
|
|
@top = args[:top] if args.key?(:top)
|
|
|
|
@width = args[:width] if args.key?(:width)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
#
|
|
|
|
class SecondaryRect
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The height of the rect.
|
|
|
|
# Corresponds to the JSON property `height`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :height
|
|
|
|
|
|
|
|
# The left coordinate of the rect, in page coordinates.
|
|
|
|
# Corresponds to the JSON property `left`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :left
|
|
|
|
|
|
|
|
# The top coordinate of the rect, in page coordinates.
|
|
|
|
# Corresponds to the JSON property `top`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :top
|
|
|
|
|
|
|
|
# The width of the rect.
|
|
|
|
# Corresponds to the JSON property `width`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :width
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@height = args[:height] if args.key?(:height)
|
|
|
|
@left = args[:left] if args.key?(:left)
|
|
|
|
@top = args[:top] if args.key?(:top)
|
|
|
|
@width = args[:width] if args.key?(:width)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
#
|
2017-06-14 17:02:03 +00:00
|
|
|
class Image
|
2015-06-23 23:05:46 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# Image data base64 encoded.
|
|
|
|
# Corresponds to the JSON property `data`
|
2017-03-31 19:53:27 +00:00
|
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
2015-06-23 23:05:46 +00:00
|
|
|
# @return [String]
|
|
|
|
attr_accessor :data
|
|
|
|
|
|
|
|
# Height of screenshot in pixels.
|
|
|
|
# Corresponds to the JSON property `height`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :height
|
|
|
|
|
|
|
|
# Unique string key, if any, identifying this image.
|
|
|
|
# Corresponds to the JSON property `key`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :key
|
|
|
|
|
|
|
|
# Mime type of image data (e.g. "image/jpeg").
|
|
|
|
# Corresponds to the JSON property `mime_type`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :mime_type
|
|
|
|
|
|
|
|
# The region of the page that is captured by this image, with dimensions
|
|
|
|
# measured in CSS pixels.
|
|
|
|
# Corresponds to the JSON property `page_rect`
|
2017-06-14 17:02:03 +00:00
|
|
|
# @return [Google::Apis::PagespeedonlineV2::Image::PageRect]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :page_rect
|
|
|
|
|
|
|
|
# Width of screenshot in pixels.
|
|
|
|
# Corresponds to the JSON property `width`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :width
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@data = args[:data] if args.key?(:data)
|
|
|
|
@height = args[:height] if args.key?(:height)
|
|
|
|
@key = args[:key] if args.key?(:key)
|
|
|
|
@mime_type = args[:mime_type] if args.key?(:mime_type)
|
|
|
|
@page_rect = args[:page_rect] if args.key?(:page_rect)
|
|
|
|
@width = args[:width] if args.key?(:width)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
# The region of the page that is captured by this image, with dimensions
|
|
|
|
# measured in CSS pixels.
|
|
|
|
class PageRect
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The height of the rect.
|
|
|
|
# Corresponds to the JSON property `height`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :height
|
|
|
|
|
|
|
|
# The left coordinate of the rect, in page coordinates.
|
|
|
|
# Corresponds to the JSON property `left`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :left
|
|
|
|
|
|
|
|
# The top coordinate of the rect, in page coordinates.
|
|
|
|
# Corresponds to the JSON property `top`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :top
|
|
|
|
|
|
|
|
# The width of the rect.
|
|
|
|
# Corresponds to the JSON property `width`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :width
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@height = args[:height] if args.key?(:height)
|
|
|
|
@left = args[:left] if args.key?(:left)
|
|
|
|
@top = args[:top] if args.key?(:top)
|
|
|
|
@width = args[:width] if args.key?(:width)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
#
|
|
|
|
class Result
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# Localized PageSpeed results. Contains a ruleResults entry for each PageSpeed
|
|
|
|
# rule instantiated and run by the server.
|
|
|
|
# Corresponds to the JSON property `formattedResults`
|
|
|
|
# @return [Google::Apis::PagespeedonlineV2::Result::FormattedResults]
|
|
|
|
attr_accessor :formatted_results
|
|
|
|
|
|
|
|
# Canonicalized and final URL for the document, after following page redirects (
|
|
|
|
# if any).
|
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :id
|
|
|
|
|
|
|
|
# List of rules that were specified in the request, but which the server did not
|
|
|
|
# know how to instantiate.
|
|
|
|
# Corresponds to the JSON property `invalidRules`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :invalid_rules
|
|
|
|
|
|
|
|
# Kind of result.
|
|
|
|
# Corresponds to the JSON property `kind`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :kind
|
|
|
|
|
|
|
|
# Summary statistics for the page, such as number of JavaScript bytes, number of
|
|
|
|
# HTML bytes, etc.
|
|
|
|
# Corresponds to the JSON property `pageStats`
|
|
|
|
# @return [Google::Apis::PagespeedonlineV2::Result::PageStats]
|
|
|
|
attr_accessor :page_stats
|
|
|
|
|
|
|
|
# Response code for the document. 200 indicates a normal page load. 4xx/5xx
|
|
|
|
# indicates an error.
|
|
|
|
# Corresponds to the JSON property `responseCode`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :response_code
|
|
|
|
|
|
|
|
# A map with one entry for each rule group in these results.
|
|
|
|
# Corresponds to the JSON property `ruleGroups`
|
|
|
|
# @return [Hash<String,Google::Apis::PagespeedonlineV2::Result::RuleGroup>]
|
|
|
|
attr_accessor :rule_groups
|
|
|
|
|
|
|
|
# Base64-encoded screenshot of the page that was analyzed.
|
|
|
|
# Corresponds to the JSON property `screenshot`
|
2017-06-14 17:02:03 +00:00
|
|
|
# @return [Google::Apis::PagespeedonlineV2::Image]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :screenshot
|
|
|
|
|
|
|
|
# Title of the page, as displayed in the browser's title bar.
|
|
|
|
# Corresponds to the JSON property `title`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :title
|
|
|
|
|
|
|
|
# The version of PageSpeed used to generate these results.
|
|
|
|
# Corresponds to the JSON property `version`
|
|
|
|
# @return [Google::Apis::PagespeedonlineV2::Result::Version]
|
|
|
|
attr_accessor :version
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@formatted_results = args[:formatted_results] if args.key?(:formatted_results)
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
@invalid_rules = args[:invalid_rules] if args.key?(:invalid_rules)
|
|
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
|
|
@page_stats = args[:page_stats] if args.key?(:page_stats)
|
|
|
|
@response_code = args[:response_code] if args.key?(:response_code)
|
|
|
|
@rule_groups = args[:rule_groups] if args.key?(:rule_groups)
|
|
|
|
@screenshot = args[:screenshot] if args.key?(:screenshot)
|
|
|
|
@title = args[:title] if args.key?(:title)
|
|
|
|
@version = args[:version] if args.key?(:version)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
# Localized PageSpeed results. Contains a ruleResults entry for each PageSpeed
|
|
|
|
# rule instantiated and run by the server.
|
|
|
|
class FormattedResults
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The locale of the formattedResults, e.g. "en_US".
|
|
|
|
# Corresponds to the JSON property `locale`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :locale
|
|
|
|
|
|
|
|
# Dictionary of formatted rule results, with one entry for each PageSpeed rule
|
|
|
|
# instantiated and run by the server.
|
|
|
|
# Corresponds to the JSON property `ruleResults`
|
|
|
|
# @return [Hash<String,Google::Apis::PagespeedonlineV2::Result::FormattedResults::RuleResult>]
|
|
|
|
attr_accessor :rule_results
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@locale = args[:locale] if args.key?(:locale)
|
|
|
|
@rule_results = args[:rule_results] if args.key?(:rule_results)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
# The enum-like identifier for this rule. For instance "EnableKeepAlive" or "
|
|
|
|
# AvoidCssImport". Not localized.
|
|
|
|
class RuleResult
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# List of rule groups that this rule belongs to. Each entry in the list is one
|
|
|
|
# of "SPEED" or "USABILITY".
|
|
|
|
# Corresponds to the JSON property `groups`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :groups
|
|
|
|
|
|
|
|
# Localized name of the rule, intended for presentation to a user.
|
|
|
|
# Corresponds to the JSON property `localizedRuleName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :localized_rule_name
|
|
|
|
|
|
|
|
# The impact (unbounded floating point value) that implementing the suggestions
|
|
|
|
# for this rule would have on making the page faster. Impact is comparable
|
|
|
|
# between rules to determine which rule's suggestions would have a higher or
|
|
|
|
# lower impact on making a page faster. For instance, if enabling compression
|
|
|
|
# would save 1MB, while optimizing images would save 500kB, the enable
|
|
|
|
# compression rule would have 2x the impact of the image optimization rule, all
|
|
|
|
# other things being equal.
|
|
|
|
# Corresponds to the JSON property `ruleImpact`
|
|
|
|
# @return [Float]
|
|
|
|
attr_accessor :rule_impact
|
|
|
|
|
|
|
|
# A brief summary description for the rule, indicating at a high level what
|
|
|
|
# should be done to follow the rule and what benefit can be gained by doing so.
|
|
|
|
# Corresponds to the JSON property `summary`
|
2017-06-14 17:02:03 +00:00
|
|
|
# @return [Google::Apis::PagespeedonlineV2::FormatString]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :summary
|
|
|
|
|
|
|
|
# List of blocks of URLs. Each block may contain a heading and a list of URLs.
|
|
|
|
# Each URL may optionally include additional details.
|
|
|
|
# Corresponds to the JSON property `urlBlocks`
|
|
|
|
# @return [Array<Google::Apis::PagespeedonlineV2::Result::FormattedResults::RuleResult::UrlBlock>]
|
|
|
|
attr_accessor :url_blocks
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@groups = args[:groups] if args.key?(:groups)
|
|
|
|
@localized_rule_name = args[:localized_rule_name] if args.key?(:localized_rule_name)
|
|
|
|
@rule_impact = args[:rule_impact] if args.key?(:rule_impact)
|
|
|
|
@summary = args[:summary] if args.key?(:summary)
|
|
|
|
@url_blocks = args[:url_blocks] if args.key?(:url_blocks)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
#
|
|
|
|
class UrlBlock
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# Heading to be displayed with the list of URLs.
|
|
|
|
# Corresponds to the JSON property `header`
|
2017-06-14 17:02:03 +00:00
|
|
|
# @return [Google::Apis::PagespeedonlineV2::FormatString]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :header
|
|
|
|
|
|
|
|
# List of entries that provide information about URLs in the url block. Optional.
|
|
|
|
# Corresponds to the JSON property `urls`
|
|
|
|
# @return [Array<Google::Apis::PagespeedonlineV2::Result::FormattedResults::RuleResult::UrlBlock::Url>]
|
|
|
|
attr_accessor :urls
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@header = args[:header] if args.key?(:header)
|
|
|
|
@urls = args[:urls] if args.key?(:urls)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
#
|
|
|
|
class Url
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# List of entries that provide additional details about a single URL. Optional.
|
|
|
|
# Corresponds to the JSON property `details`
|
2017-06-14 17:02:03 +00:00
|
|
|
# @return [Array<Google::Apis::PagespeedonlineV2::FormatString>]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :details
|
|
|
|
|
|
|
|
# A format string that gives information about the URL, and a list of arguments
|
|
|
|
# for that format string.
|
|
|
|
# Corresponds to the JSON property `result`
|
2017-06-14 17:02:03 +00:00
|
|
|
# @return [Google::Apis::PagespeedonlineV2::FormatString]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :result
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@details = args[:details] if args.key?(:details)
|
|
|
|
@result = args[:result] if args.key?(:result)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Summary statistics for the page, such as number of JavaScript bytes, number of
|
|
|
|
# HTML bytes, etc.
|
|
|
|
class PageStats
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# Number of uncompressed response bytes for CSS resources on the page.
|
|
|
|
# Corresponds to the JSON property `cssResponseBytes`
|
2017-04-03 20:18:48 +00:00
|
|
|
# @return [Fixnum]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :css_response_bytes
|
|
|
|
|
|
|
|
# Number of response bytes for flash resources on the page.
|
|
|
|
# Corresponds to the JSON property `flashResponseBytes`
|
2017-04-03 20:18:48 +00:00
|
|
|
# @return [Fixnum]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :flash_response_bytes
|
|
|
|
|
|
|
|
# Number of uncompressed response bytes for the main HTML document and all
|
|
|
|
# iframes on the page.
|
|
|
|
# Corresponds to the JSON property `htmlResponseBytes`
|
2017-04-03 20:18:48 +00:00
|
|
|
# @return [Fixnum]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :html_response_bytes
|
|
|
|
|
|
|
|
# Number of response bytes for image resources on the page.
|
|
|
|
# Corresponds to the JSON property `imageResponseBytes`
|
2017-04-03 20:18:48 +00:00
|
|
|
# @return [Fixnum]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :image_response_bytes
|
|
|
|
|
|
|
|
# Number of uncompressed response bytes for JS resources on the page.
|
|
|
|
# Corresponds to the JSON property `javascriptResponseBytes`
|
2017-04-03 20:18:48 +00:00
|
|
|
# @return [Fixnum]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :javascript_response_bytes
|
|
|
|
|
|
|
|
# Number of CSS resources referenced by the page.
|
|
|
|
# Corresponds to the JSON property `numberCssResources`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :number_css_resources
|
|
|
|
|
|
|
|
# Number of unique hosts referenced by the page.
|
|
|
|
# Corresponds to the JSON property `numberHosts`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :number_hosts
|
|
|
|
|
|
|
|
# Number of JavaScript resources referenced by the page.
|
|
|
|
# Corresponds to the JSON property `numberJsResources`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :number_js_resources
|
|
|
|
|
|
|
|
# Number of HTTP resources loaded by the page.
|
|
|
|
# Corresponds to the JSON property `numberResources`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :number_resources
|
|
|
|
|
|
|
|
# Number of static (i.e. cacheable) resources on the page.
|
|
|
|
# Corresponds to the JSON property `numberStaticResources`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :number_static_resources
|
|
|
|
|
|
|
|
# Number of response bytes for other resources on the page.
|
|
|
|
# Corresponds to the JSON property `otherResponseBytes`
|
2017-04-03 20:18:48 +00:00
|
|
|
# @return [Fixnum]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :other_response_bytes
|
|
|
|
|
|
|
|
# Number of uncompressed response bytes for text resources not covered by other
|
|
|
|
# statistics (i.e non-HTML, non-script, non-CSS resources) on the page.
|
|
|
|
# Corresponds to the JSON property `textResponseBytes`
|
2017-04-03 20:18:48 +00:00
|
|
|
# @return [Fixnum]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :text_response_bytes
|
|
|
|
|
|
|
|
# Total size of all request bytes sent by the page.
|
|
|
|
# Corresponds to the JSON property `totalRequestBytes`
|
2017-04-03 20:18:48 +00:00
|
|
|
# @return [Fixnum]
|
2015-06-23 23:05:46 +00:00
|
|
|
attr_accessor :total_request_bytes
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@css_response_bytes = args[:css_response_bytes] if args.key?(:css_response_bytes)
|
|
|
|
@flash_response_bytes = args[:flash_response_bytes] if args.key?(:flash_response_bytes)
|
|
|
|
@html_response_bytes = args[:html_response_bytes] if args.key?(:html_response_bytes)
|
|
|
|
@image_response_bytes = args[:image_response_bytes] if args.key?(:image_response_bytes)
|
|
|
|
@javascript_response_bytes = args[:javascript_response_bytes] if args.key?(:javascript_response_bytes)
|
|
|
|
@number_css_resources = args[:number_css_resources] if args.key?(:number_css_resources)
|
|
|
|
@number_hosts = args[:number_hosts] if args.key?(:number_hosts)
|
|
|
|
@number_js_resources = args[:number_js_resources] if args.key?(:number_js_resources)
|
|
|
|
@number_resources = args[:number_resources] if args.key?(:number_resources)
|
|
|
|
@number_static_resources = args[:number_static_resources] if args.key?(:number_static_resources)
|
|
|
|
@other_response_bytes = args[:other_response_bytes] if args.key?(:other_response_bytes)
|
|
|
|
@text_response_bytes = args[:text_response_bytes] if args.key?(:text_response_bytes)
|
|
|
|
@total_request_bytes = args[:total_request_bytes] if args.key?(:total_request_bytes)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# The name of this rule group: one of "SPEED" or "USABILITY".
|
|
|
|
class RuleGroup
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The score (0-100) for this rule group, which indicates how much better a page
|
|
|
|
# could be in that category (e.g. how much faster, or how much more usable). A
|
|
|
|
# high score indicates little room for improvement, while a lower score
|
|
|
|
# indicates more room for improvement.
|
|
|
|
# Corresponds to the JSON property `score`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :score
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@score = args[:score] if args.key?(:score)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# The version of PageSpeed used to generate these results.
|
|
|
|
class Version
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The major version number of PageSpeed used to generate these results.
|
|
|
|
# Corresponds to the JSON property `major`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :major
|
|
|
|
|
|
|
|
# The minor version number of PageSpeed used to generate these results.
|
|
|
|
# Corresponds to the JSON property `minor`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :minor
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@major = args[:major] if args.key?(:major)
|
|
|
|
@minor = args[:minor] if args.key?(:minor)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|