google-api-client 0.25.0 → 0.26.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (265) hide show
  1. checksums.yaml +4 -4
  2. data/{CONTRIBUTING.md → .github/CONTRIBUTING.md} +0 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
  4. data/.github/ISSUE_TEMPLATE/feature_request.md +21 -0
  5. data/.github/ISSUE_TEMPLATE/support_request.md +7 -0
  6. data/.kokoro/build.bat +8 -0
  7. data/.kokoro/build.sh +36 -0
  8. data/.kokoro/common.cfg +22 -0
  9. data/.kokoro/continuous/common.cfg +20 -0
  10. data/.kokoro/continuous/linux.cfg +15 -0
  11. data/.kokoro/continuous/osx.cfg +3 -0
  12. data/.kokoro/continuous/windows.cfg +3 -0
  13. data/.kokoro/osx.sh +35 -0
  14. data/.kokoro/presubmit/common.cfg +19 -0
  15. data/.kokoro/presubmit/linux.cfg +14 -0
  16. data/.kokoro/presubmit/osx.cfg +3 -0
  17. data/.kokoro/presubmit/windows.cfg +3 -0
  18. data/.kokoro/trampoline.sh +24 -0
  19. data/.kokoro/windows.sh +32 -0
  20. data/CHANGELOG.md +83 -0
  21. data/Gemfile +2 -2
  22. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  23. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +3 -1
  24. data/generated/google/apis/alertcenter_v1beta1.rb +5 -3
  25. data/generated/google/apis/alertcenter_v1beta1/classes.rb +110 -101
  26. data/generated/google/apis/alertcenter_v1beta1/representations.rb +13 -0
  27. data/generated/google/apis/alertcenter_v1beta1/service.rb +83 -76
  28. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  29. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +7 -0
  30. data/generated/google/apis/androiddeviceprovisioning_v1/representations.rb +2 -0
  31. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +1 -1
  32. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  33. data/generated/google/apis/androidenterprise_v1/classes.rb +129 -44
  34. data/generated/google/apis/androidenterprise_v1/representations.rb +48 -0
  35. data/generated/google/apis/androidenterprise_v1/service.rb +218 -0
  36. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  37. data/generated/google/apis/androidmanagement_v1/classes.rb +1 -1
  38. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  39. data/generated/google/apis/androidpublisher_v3/classes.rb +8 -0
  40. data/generated/google/apis/androidpublisher_v3/representations.rb +1 -0
  41. data/generated/google/apis/appengine_v1.rb +1 -1
  42. data/generated/google/apis/appengine_v1beta.rb +1 -1
  43. data/generated/google/apis/bigquery_v2.rb +1 -1
  44. data/generated/google/apis/bigquery_v2/classes.rb +87 -29
  45. data/generated/google/apis/bigquery_v2/representations.rb +21 -0
  46. data/generated/google/apis/bigquery_v2/service.rb +7 -9
  47. data/generated/google/apis/calendar_v3.rb +2 -2
  48. data/generated/google/apis/calendar_v3/classes.rb +14 -6
  49. data/generated/google/apis/classroom_v1.rb +1 -1
  50. data/generated/google/apis/classroom_v1/service.rb +1 -1
  51. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  52. data/generated/google/apis/cloudasset_v1beta1/classes.rb +14 -10
  53. data/generated/google/apis/cloudasset_v1beta1/service.rb +4 -4
  54. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  55. data/generated/google/apis/clouddebugger_v2/classes.rb +2 -2
  56. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  57. data/generated/google/apis/cloudfunctions_v1/classes.rb +2 -3
  58. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  59. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +2 -3
  60. data/generated/google/apis/cloudiot_v1.rb +1 -1
  61. data/generated/google/apis/cloudiot_v1/classes.rb +127 -0
  62. data/generated/google/apis/cloudiot_v1/representations.rb +70 -0
  63. data/generated/google/apis/cloudiot_v1/service.rb +172 -2
  64. data/generated/google/apis/cloudkms_v1.rb +1 -1
  65. data/generated/google/apis/cloudkms_v1/service.rb +107 -0
  66. data/generated/google/apis/{cloudiot_v1beta1.rb → cloudscheduler_v1beta1.rb} +8 -12
  67. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +882 -0
  68. data/generated/google/apis/cloudscheduler_v1beta1/representations.rb +264 -0
  69. data/generated/google/apis/cloudscheduler_v1beta1/service.rb +445 -0
  70. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  71. data/generated/google/apis/cloudsearch_v1/classes.rb +79 -1
  72. data/generated/google/apis/cloudsearch_v1/representations.rb +44 -0
  73. data/generated/google/apis/cloudsearch_v1/service.rb +88 -3
  74. data/generated/google/apis/composer_v1.rb +1 -1
  75. data/generated/google/apis/composer_v1/classes.rb +9 -0
  76. data/generated/google/apis/composer_v1/representations.rb +1 -0
  77. data/generated/google/apis/compute_alpha.rb +1 -1
  78. data/generated/google/apis/compute_alpha/classes.rb +938 -117
  79. data/generated/google/apis/compute_alpha/representations.rb +310 -2
  80. data/generated/google/apis/compute_alpha/service.rb +1203 -245
  81. data/generated/google/apis/compute_beta.rb +1 -1
  82. data/generated/google/apis/compute_beta/classes.rb +1175 -219
  83. data/generated/google/apis/compute_beta/representations.rb +375 -2
  84. data/generated/google/apis/compute_beta/service.rb +907 -139
  85. data/generated/google/apis/compute_v1.rb +1 -1
  86. data/generated/google/apis/compute_v1/classes.rb +1485 -143
  87. data/generated/google/apis/compute_v1/representations.rb +503 -0
  88. data/generated/google/apis/compute_v1/service.rb +1375 -85
  89. data/generated/google/apis/container_v1.rb +3 -3
  90. data/generated/google/apis/container_v1/classes.rb +99 -6
  91. data/generated/google/apis/container_v1/representations.rb +39 -0
  92. data/generated/google/apis/container_v1/service.rb +2 -2
  93. data/generated/google/apis/container_v1beta1.rb +3 -3
  94. data/generated/google/apis/container_v1beta1/classes.rb +162 -9
  95. data/generated/google/apis/container_v1beta1/representations.rb +80 -0
  96. data/generated/google/apis/container_v1beta1/service.rb +3 -3
  97. data/generated/google/apis/content_v2.rb +1 -1
  98. data/generated/google/apis/content_v2/classes.rb +40 -32
  99. data/generated/google/apis/content_v2/representations.rb +0 -1
  100. data/generated/google/apis/content_v2/service.rb +3 -3
  101. data/generated/google/apis/content_v2_1.rb +35 -0
  102. data/generated/google/apis/content_v2_1/classes.rb +9104 -0
  103. data/generated/google/apis/content_v2_1/representations.rb +3967 -0
  104. data/generated/google/apis/content_v2_1/service.rb +3463 -0
  105. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  106. data/generated/google/apis/dataflow_v1b3/classes.rb +82 -0
  107. data/generated/google/apis/dataflow_v1b3/representations.rb +33 -0
  108. data/generated/google/apis/dataflow_v1b3/service.rb +97 -6
  109. data/generated/google/apis/dataproc_v1.rb +1 -1
  110. data/generated/google/apis/dataproc_v1/classes.rb +15 -1
  111. data/generated/google/apis/dataproc_v1/representations.rb +2 -0
  112. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  113. data/generated/google/apis/dataproc_v1beta2/classes.rb +125 -1
  114. data/generated/google/apis/dataproc_v1beta2/representations.rb +41 -0
  115. data/generated/google/apis/dialogflow_v2.rb +1 -1
  116. data/generated/google/apis/dialogflow_v2/classes.rb +13 -6
  117. data/generated/google/apis/dialogflow_v2/service.rb +2 -0
  118. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  119. data/generated/google/apis/dialogflow_v2beta1/classes.rb +26 -6
  120. data/generated/google/apis/dialogflow_v2beta1/representations.rb +12 -0
  121. data/generated/google/apis/dialogflow_v2beta1/service.rb +261 -12
  122. data/generated/google/apis/dlp_v2.rb +1 -1
  123. data/generated/google/apis/dlp_v2/classes.rb +4 -4
  124. data/generated/google/apis/dns_v1beta2.rb +1 -1
  125. data/generated/google/apis/dns_v1beta2/classes.rb +326 -0
  126. data/generated/google/apis/dns_v1beta2/representations.rb +149 -0
  127. data/generated/google/apis/dns_v1beta2/service.rb +246 -0
  128. data/generated/google/apis/drive_v2.rb +3 -3
  129. data/generated/google/apis/drive_v3.rb +3 -3
  130. data/generated/google/apis/driveactivity_v2.rb +37 -0
  131. data/generated/google/apis/driveactivity_v2/classes.rb +1388 -0
  132. data/generated/google/apis/driveactivity_v2/representations.rb +799 -0
  133. data/generated/google/apis/driveactivity_v2/service.rb +89 -0
  134. data/generated/google/apis/firebasedynamiclinks_v1.rb +1 -1
  135. data/generated/google/apis/firebasedynamiclinks_v1/classes.rb +8 -1
  136. data/generated/google/apis/firebasedynamiclinks_v1/representations.rb +1 -0
  137. data/generated/google/apis/firebasehosting_v1beta1.rb +3 -2
  138. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +43 -17
  139. data/generated/google/apis/firebasehosting_v1beta1/representations.rb +13 -0
  140. data/generated/google/apis/firebasehosting_v1beta1/service.rb +74 -1
  141. data/generated/google/apis/firestore_v1.rb +1 -1
  142. data/generated/google/apis/firestore_v1/classes.rb +2225 -520
  143. data/generated/google/apis/firestore_v1/representations.rb +800 -33
  144. data/generated/google/apis/firestore_v1/service.rb +526 -0
  145. data/generated/google/apis/fitness_v1.rb +1 -1
  146. data/generated/google/apis/fitness_v1/classes.rb +1 -2
  147. data/generated/google/apis/fitness_v1/service.rb +7 -3
  148. data/generated/google/apis/games_management_v1management.rb +1 -4
  149. data/generated/google/apis/games_v1.rb +1 -4
  150. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  151. data/generated/google/apis/genomics_v2alpha1/classes.rb +6 -1
  152. data/generated/google/apis/gmail_v1.rb +2 -2
  153. data/generated/google/apis/iap_v1.rb +34 -0
  154. data/generated/google/apis/iap_v1/classes.rb +308 -0
  155. data/generated/google/apis/iap_v1/representations.rb +126 -0
  156. data/generated/google/apis/iap_v1/service.rb +725 -0
  157. data/generated/google/apis/iap_v1beta1.rb +1 -1
  158. data/generated/google/apis/iap_v1beta1/classes.rb +0 -132
  159. data/generated/google/apis/iap_v1beta1/representations.rb +0 -32
  160. data/generated/google/apis/jobs_v2.rb +1 -1
  161. data/generated/google/apis/jobs_v2/classes.rb +8 -9
  162. data/generated/google/apis/jobs_v3.rb +1 -1
  163. data/generated/google/apis/jobs_v3/classes.rb +6 -6
  164. data/generated/google/apis/jobs_v3/service.rb +8 -8
  165. data/generated/google/apis/jobs_v3p1beta1.rb +1 -1
  166. data/generated/google/apis/jobs_v3p1beta1/classes.rb +9 -9
  167. data/generated/google/apis/jobs_v3p1beta1/service.rb +8 -8
  168. data/generated/google/apis/monitoring_v3.rb +1 -1
  169. data/generated/google/apis/monitoring_v3/classes.rb +20 -7
  170. data/generated/google/apis/monitoring_v3/representations.rb +1 -0
  171. data/generated/google/apis/monitoring_v3/service.rb +0 -365
  172. data/generated/google/apis/pagespeedonline_v5.rb +32 -0
  173. data/generated/google/apis/pagespeedonline_v5/classes.rb +724 -0
  174. data/generated/google/apis/pagespeedonline_v5/representations.rb +315 -0
  175. data/generated/google/apis/pagespeedonline_v5/service.rb +116 -0
  176. data/generated/google/apis/people_v1.rb +3 -3
  177. data/generated/google/apis/pubsub_v1.rb +1 -1
  178. data/generated/google/apis/pubsub_v1/classes.rb +63 -12
  179. data/generated/google/apis/pubsub_v1/representations.rb +15 -0
  180. data/generated/google/apis/pubsub_v1/service.rb +26 -18
  181. data/generated/google/apis/redis_v1.rb +2 -3
  182. data/generated/google/apis/redis_v1/service.rb +1 -2
  183. data/generated/google/apis/redis_v1beta1.rb +2 -3
  184. data/generated/google/apis/redis_v1beta1/service.rb +1 -2
  185. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  186. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +2 -2
  187. data/generated/google/apis/script_v1.rb +24 -6
  188. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  189. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +66 -1
  190. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +30 -0
  191. data/generated/google/apis/serviceconsumermanagement_v1/service.rb +89 -0
  192. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  193. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  194. data/generated/google/apis/servicemanagement_v1/classes.rb +7 -0
  195. data/generated/google/apis/servicemanagement_v1/representations.rb +1 -0
  196. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  197. data/generated/google/apis/servicenetworking_v1beta/classes.rb +84 -37
  198. data/generated/google/apis/servicenetworking_v1beta/representations.rb +15 -0
  199. data/generated/google/apis/servicenetworking_v1beta/service.rb +132 -43
  200. data/generated/google/apis/serviceusage_v1.rb +1 -1
  201. data/generated/google/apis/serviceusage_v1/classes.rb +1 -1
  202. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  203. data/generated/google/apis/serviceusage_v1beta1/classes.rb +1 -1
  204. data/generated/google/apis/sheets_v4.rb +4 -4
  205. data/generated/google/apis/slides_v1.rb +4 -4
  206. data/generated/google/apis/slides_v1/classes.rb +187 -2
  207. data/generated/google/apis/slides_v1/representations.rb +67 -0
  208. data/generated/google/apis/slides_v1/service.rb +4 -3
  209. data/generated/google/apis/sourcerepo_v1.rb +2 -2
  210. data/generated/google/apis/sourcerepo_v1/service.rb +1 -1
  211. data/generated/google/apis/speech_v1.rb +1 -1
  212. data/generated/google/apis/speech_v1/classes.rb +58 -10
  213. data/generated/google/apis/speech_v1/representations.rb +29 -1
  214. data/generated/google/apis/{speech_v1beta1.rb → speech_v1p1beta1.rb} +6 -6
  215. data/generated/google/apis/speech_v1p1beta1/classes.rb +922 -0
  216. data/generated/google/apis/speech_v1p1beta1/representations.rb +294 -0
  217. data/generated/google/apis/{speech_v1beta1 → speech_v1p1beta1}/service.rb +33 -35
  218. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  219. data/generated/google/apis/sqladmin_v1beta4/classes.rb +64 -3
  220. data/generated/google/apis/sqladmin_v1beta4/representations.rb +31 -0
  221. data/generated/google/apis/storage_v1.rb +1 -1
  222. data/generated/google/apis/storage_v1/classes.rb +54 -0
  223. data/generated/google/apis/storage_v1/representations.rb +31 -0
  224. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  225. data/generated/google/apis/streetviewpublish_v1/classes.rb +26 -0
  226. data/generated/google/apis/streetviewpublish_v1/representations.rb +4 -0
  227. data/generated/google/apis/streetviewpublish_v1/service.rb +29 -3
  228. data/generated/google/apis/tasks_v1.rb +1 -1
  229. data/generated/google/apis/testing_v1.rb +1 -1
  230. data/generated/google/apis/testing_v1/classes.rb +49 -19
  231. data/generated/google/apis/testing_v1/representations.rb +20 -2
  232. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  233. data/generated/google/apis/toolresults_v1beta3/classes.rb +77 -70
  234. data/generated/google/apis/vault_v1.rb +1 -1
  235. data/generated/google/apis/vault_v1/classes.rb +78 -7
  236. data/generated/google/apis/vault_v1/representations.rb +34 -1
  237. data/generated/google/apis/vault_v1/service.rb +141 -0
  238. data/generated/google/apis/vision_v1.rb +1 -1
  239. data/generated/google/apis/vision_v1/classes.rb +33 -0
  240. data/generated/google/apis/vision_v1/representations.rb +16 -0
  241. data/generated/google/apis/vision_v1/service.rb +2 -2
  242. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  243. data/generated/google/apis/vision_v1p1beta1/classes.rb +33 -0
  244. data/generated/google/apis/vision_v1p1beta1/representations.rb +16 -0
  245. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  246. data/generated/google/apis/vision_v1p2beta1/classes.rb +33 -0
  247. data/generated/google/apis/vision_v1p2beta1/representations.rb +16 -0
  248. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  249. data/google-api-client.gemspec +1 -1
  250. data/lib/google/api_client/auth/installed_app.rb +17 -2
  251. data/lib/google/api_client/client_secrets.rb +1 -1
  252. data/lib/google/apis/core/download.rb +2 -2
  253. data/lib/google/apis/errors.rb +9 -0
  254. data/lib/google/apis/generator/annotator.rb +2 -2
  255. data/lib/google/apis/version.rb +1 -1
  256. metadata +46 -17
  257. data/generated/google/apis/cloudiot_v1beta1/classes.rb +0 -959
  258. data/generated/google/apis/cloudiot_v1beta1/representations.rb +0 -375
  259. data/generated/google/apis/cloudiot_v1beta1/service.rb +0 -618
  260. data/generated/google/apis/dfareporting_v3_0.rb +0 -40
  261. data/generated/google/apis/dfareporting_v3_0/classes.rb +0 -12119
  262. data/generated/google/apis/dfareporting_v3_0/representations.rb +0 -4336
  263. data/generated/google/apis/dfareporting_v3_0/service.rb +0 -8701
  264. data/generated/google/apis/speech_v1beta1/classes.rb +0 -480
  265. data/generated/google/apis/speech_v1beta1/representations.rb +0 -194
@@ -0,0 +1,32 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/pagespeedonline_v5/service.rb'
16
+ require 'google/apis/pagespeedonline_v5/classes.rb'
17
+ require 'google/apis/pagespeedonline_v5/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # PageSpeed Insights API
22
+ #
23
+ # Analyzes the performance of a web page and provides tailored suggestions to
24
+ # make that page faster.
25
+ #
26
+ # @see https://developers.google.com/speed/docs/insights/v5/get-started
27
+ module PagespeedonlineV5
28
+ VERSION = 'V5'
29
+ REVISION = '20181120'
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,724 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module PagespeedonlineV5
24
+
25
+ #
26
+ class LighthouseAuditResultV5
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The description of the audit.
30
+ # Corresponds to the JSON property `description`
31
+ # @return [String]
32
+ attr_accessor :description
33
+
34
+ # Freeform details section of the audit.
35
+ # Corresponds to the JSON property `details`
36
+ # @return [Hash<String,Object>]
37
+ attr_accessor :details
38
+
39
+ # The value that should be displayed on the UI for this audit.
40
+ # Corresponds to the JSON property `displayValue`
41
+ # @return [String]
42
+ attr_accessor :display_value
43
+
44
+ # An error message from a thrown error inside the audit.
45
+ # Corresponds to the JSON property `errorMessage`
46
+ # @return [String]
47
+ attr_accessor :error_message
48
+
49
+ # An explanation of the errors in the audit.
50
+ # Corresponds to the JSON property `explanation`
51
+ # @return [String]
52
+ attr_accessor :explanation
53
+
54
+ # The audit's id.
55
+ # Corresponds to the JSON property `id`
56
+ # @return [String]
57
+ attr_accessor :id
58
+
59
+ #
60
+ # Corresponds to the JSON property `score`
61
+ # @return [Object]
62
+ attr_accessor :score
63
+
64
+ # The enumerated score display mode.
65
+ # Corresponds to the JSON property `scoreDisplayMode`
66
+ # @return [String]
67
+ attr_accessor :score_display_mode
68
+
69
+ # The human readable title.
70
+ # Corresponds to the JSON property `title`
71
+ # @return [String]
72
+ attr_accessor :title
73
+
74
+ #
75
+ # Corresponds to the JSON property `warnings`
76
+ # @return [Object]
77
+ attr_accessor :warnings
78
+
79
+ def initialize(**args)
80
+ update!(**args)
81
+ end
82
+
83
+ # Update properties of this object
84
+ def update!(**args)
85
+ @description = args[:description] if args.key?(:description)
86
+ @details = args[:details] if args.key?(:details)
87
+ @display_value = args[:display_value] if args.key?(:display_value)
88
+ @error_message = args[:error_message] if args.key?(:error_message)
89
+ @explanation = args[:explanation] if args.key?(:explanation)
90
+ @id = args[:id] if args.key?(:id)
91
+ @score = args[:score] if args.key?(:score)
92
+ @score_display_mode = args[:score_display_mode] if args.key?(:score_display_mode)
93
+ @title = args[:title] if args.key?(:title)
94
+ @warnings = args[:warnings] if args.key?(:warnings)
95
+ end
96
+ end
97
+
98
+ #
99
+ class LighthouseCategoryV5
100
+ include Google::Apis::Core::Hashable
101
+
102
+ # An array of references to all the audit members of this category.
103
+ # Corresponds to the JSON property `auditRefs`
104
+ # @return [Array<Google::Apis::PagespeedonlineV5::LighthouseCategoryV5::AuditRef>]
105
+ attr_accessor :audit_refs
106
+
107
+ # A more detailed description of the category and its importance.
108
+ # Corresponds to the JSON property `description`
109
+ # @return [String]
110
+ attr_accessor :description
111
+
112
+ # The string identifier of the category.
113
+ # Corresponds to the JSON property `id`
114
+ # @return [String]
115
+ attr_accessor :id
116
+
117
+ # A description for the manual audits in the category.
118
+ # Corresponds to the JSON property `manualDescription`
119
+ # @return [String]
120
+ attr_accessor :manual_description
121
+
122
+ #
123
+ # Corresponds to the JSON property `score`
124
+ # @return [Object]
125
+ attr_accessor :score
126
+
127
+ # The human-friendly name of the category.
128
+ # Corresponds to the JSON property `title`
129
+ # @return [String]
130
+ attr_accessor :title
131
+
132
+ def initialize(**args)
133
+ update!(**args)
134
+ end
135
+
136
+ # Update properties of this object
137
+ def update!(**args)
138
+ @audit_refs = args[:audit_refs] if args.key?(:audit_refs)
139
+ @description = args[:description] if args.key?(:description)
140
+ @id = args[:id] if args.key?(:id)
141
+ @manual_description = args[:manual_description] if args.key?(:manual_description)
142
+ @score = args[:score] if args.key?(:score)
143
+ @title = args[:title] if args.key?(:title)
144
+ end
145
+
146
+ #
147
+ class AuditRef
148
+ include Google::Apis::Core::Hashable
149
+
150
+ # The category group that the audit belongs to (optional).
151
+ # Corresponds to the JSON property `group`
152
+ # @return [String]
153
+ attr_accessor :group
154
+
155
+ # The audit ref id.
156
+ # Corresponds to the JSON property `id`
157
+ # @return [String]
158
+ attr_accessor :id
159
+
160
+ # The weight this audit's score has on the overall category score.
161
+ # Corresponds to the JSON property `weight`
162
+ # @return [Float]
163
+ attr_accessor :weight
164
+
165
+ def initialize(**args)
166
+ update!(**args)
167
+ end
168
+
169
+ # Update properties of this object
170
+ def update!(**args)
171
+ @group = args[:group] if args.key?(:group)
172
+ @id = args[:id] if args.key?(:id)
173
+ @weight = args[:weight] if args.key?(:weight)
174
+ end
175
+ end
176
+ end
177
+
178
+ #
179
+ class LighthouseResultV5
180
+ include Google::Apis::Core::Hashable
181
+
182
+ # Map of audits in the LHR.
183
+ # Corresponds to the JSON property `audits`
184
+ # @return [Hash<String,Google::Apis::PagespeedonlineV5::LighthouseAuditResultV5>]
185
+ attr_accessor :audits
186
+
187
+ # Map of categories in the LHR.
188
+ # Corresponds to the JSON property `categories`
189
+ # @return [Hash<String,Google::Apis::PagespeedonlineV5::LighthouseCategoryV5>]
190
+ attr_accessor :categories
191
+
192
+ # Map of category groups in the LHR.
193
+ # Corresponds to the JSON property `categoryGroups`
194
+ # @return [Hash<String,Google::Apis::PagespeedonlineV5::LighthouseResultV5::CategoryGroup>]
195
+ attr_accessor :category_groups
196
+
197
+ # The configuration settings for this LHR.
198
+ # Corresponds to the JSON property `configSettings`
199
+ # @return [Google::Apis::PagespeedonlineV5::LighthouseResultV5::ConfigSettings]
200
+ attr_accessor :config_settings
201
+
202
+ # Environment settings that were used when making this LHR.
203
+ # Corresponds to the JSON property `environment`
204
+ # @return [Google::Apis::PagespeedonlineV5::LighthouseResultV5::Environment]
205
+ attr_accessor :environment
206
+
207
+ # The time that this run was fetched.
208
+ # Corresponds to the JSON property `fetchTime`
209
+ # @return [String]
210
+ attr_accessor :fetch_time
211
+
212
+ # The final resolved url that was audited.
213
+ # Corresponds to the JSON property `finalUrl`
214
+ # @return [String]
215
+ attr_accessor :final_url
216
+
217
+ # The internationalization strings that are required to render the LHR.
218
+ # Corresponds to the JSON property `i18n`
219
+ # @return [Google::Apis::PagespeedonlineV5::LighthouseResultV5::I18n]
220
+ attr_accessor :i18n
221
+
222
+ # The lighthouse version that was used to generate this LHR.
223
+ # Corresponds to the JSON property `lighthouseVersion`
224
+ # @return [String]
225
+ attr_accessor :lighthouse_version
226
+
227
+ # The original requested url.
228
+ # Corresponds to the JSON property `requestedUrl`
229
+ # @return [String]
230
+ attr_accessor :requested_url
231
+
232
+ # List of all run warnings in the LHR. Will always output to at least `[]`.
233
+ # Corresponds to the JSON property `runWarnings`
234
+ # @return [Array<Object>]
235
+ attr_accessor :run_warnings
236
+
237
+ # A top-level error message that, if present, indicates a serious enough problem
238
+ # that this Lighthouse result may need to be discarded.
239
+ # Corresponds to the JSON property `runtimeError`
240
+ # @return [Google::Apis::PagespeedonlineV5::LighthouseResultV5::RuntimeError]
241
+ attr_accessor :runtime_error
242
+
243
+ # Timing information for this LHR.
244
+ # Corresponds to the JSON property `timing`
245
+ # @return [Google::Apis::PagespeedonlineV5::LighthouseResultV5::Timing]
246
+ attr_accessor :timing
247
+
248
+ # The user agent that was used to run this LHR.
249
+ # Corresponds to the JSON property `userAgent`
250
+ # @return [String]
251
+ attr_accessor :user_agent
252
+
253
+ def initialize(**args)
254
+ update!(**args)
255
+ end
256
+
257
+ # Update properties of this object
258
+ def update!(**args)
259
+ @audits = args[:audits] if args.key?(:audits)
260
+ @categories = args[:categories] if args.key?(:categories)
261
+ @category_groups = args[:category_groups] if args.key?(:category_groups)
262
+ @config_settings = args[:config_settings] if args.key?(:config_settings)
263
+ @environment = args[:environment] if args.key?(:environment)
264
+ @fetch_time = args[:fetch_time] if args.key?(:fetch_time)
265
+ @final_url = args[:final_url] if args.key?(:final_url)
266
+ @i18n = args[:i18n] if args.key?(:i18n)
267
+ @lighthouse_version = args[:lighthouse_version] if args.key?(:lighthouse_version)
268
+ @requested_url = args[:requested_url] if args.key?(:requested_url)
269
+ @run_warnings = args[:run_warnings] if args.key?(:run_warnings)
270
+ @runtime_error = args[:runtime_error] if args.key?(:runtime_error)
271
+ @timing = args[:timing] if args.key?(:timing)
272
+ @user_agent = args[:user_agent] if args.key?(:user_agent)
273
+ end
274
+
275
+ # A grouping contained in a category that groups similar audits together.
276
+ class CategoryGroup
277
+ include Google::Apis::Core::Hashable
278
+
279
+ # An optional human readable description of the category group.
280
+ # Corresponds to the JSON property `description`
281
+ # @return [String]
282
+ attr_accessor :description
283
+
284
+ # The title of the category group.
285
+ # Corresponds to the JSON property `title`
286
+ # @return [String]
287
+ attr_accessor :title
288
+
289
+ def initialize(**args)
290
+ update!(**args)
291
+ end
292
+
293
+ # Update properties of this object
294
+ def update!(**args)
295
+ @description = args[:description] if args.key?(:description)
296
+ @title = args[:title] if args.key?(:title)
297
+ end
298
+ end
299
+
300
+ # The configuration settings for this LHR.
301
+ class ConfigSettings
302
+ include Google::Apis::Core::Hashable
303
+
304
+ # The form factor the emulation should use.
305
+ # Corresponds to the JSON property `emulatedFormFactor`
306
+ # @return [String]
307
+ attr_accessor :emulated_form_factor
308
+
309
+ # The locale setting.
310
+ # Corresponds to the JSON property `locale`
311
+ # @return [String]
312
+ attr_accessor :locale
313
+
314
+ #
315
+ # Corresponds to the JSON property `onlyCategories`
316
+ # @return [Object]
317
+ attr_accessor :only_categories
318
+
319
+ def initialize(**args)
320
+ update!(**args)
321
+ end
322
+
323
+ # Update properties of this object
324
+ def update!(**args)
325
+ @emulated_form_factor = args[:emulated_form_factor] if args.key?(:emulated_form_factor)
326
+ @locale = args[:locale] if args.key?(:locale)
327
+ @only_categories = args[:only_categories] if args.key?(:only_categories)
328
+ end
329
+ end
330
+
331
+ # Environment settings that were used when making this LHR.
332
+ class Environment
333
+ include Google::Apis::Core::Hashable
334
+
335
+ # The benchmark index number that indicates rough device class.
336
+ # Corresponds to the JSON property `benchmarkIndex`
337
+ # @return [Float]
338
+ attr_accessor :benchmark_index
339
+
340
+ # The user agent string of the version of Chrome used.
341
+ # Corresponds to the JSON property `hostUserAgent`
342
+ # @return [String]
343
+ attr_accessor :host_user_agent
344
+
345
+ # The user agent string that was sent over the network.
346
+ # Corresponds to the JSON property `networkUserAgent`
347
+ # @return [String]
348
+ attr_accessor :network_user_agent
349
+
350
+ def initialize(**args)
351
+ update!(**args)
352
+ end
353
+
354
+ # Update properties of this object
355
+ def update!(**args)
356
+ @benchmark_index = args[:benchmark_index] if args.key?(:benchmark_index)
357
+ @host_user_agent = args[:host_user_agent] if args.key?(:host_user_agent)
358
+ @network_user_agent = args[:network_user_agent] if args.key?(:network_user_agent)
359
+ end
360
+ end
361
+
362
+ # The internationalization strings that are required to render the LHR.
363
+ class I18n
364
+ include Google::Apis::Core::Hashable
365
+
366
+ # Internationalized strings that are formatted to the locale in configSettings.
367
+ # Corresponds to the JSON property `rendererFormattedStrings`
368
+ # @return [Google::Apis::PagespeedonlineV5::LighthouseResultV5::I18n::RendererFormattedStrings]
369
+ attr_accessor :renderer_formatted_strings
370
+
371
+ def initialize(**args)
372
+ update!(**args)
373
+ end
374
+
375
+ # Update properties of this object
376
+ def update!(**args)
377
+ @renderer_formatted_strings = args[:renderer_formatted_strings] if args.key?(:renderer_formatted_strings)
378
+ end
379
+
380
+ # Internationalized strings that are formatted to the locale in configSettings.
381
+ class RendererFormattedStrings
382
+ include Google::Apis::Core::Hashable
383
+
384
+ # The tooltip text on an expandable chevron icon.
385
+ # Corresponds to the JSON property `auditGroupExpandTooltip`
386
+ # @return [String]
387
+ attr_accessor :audit_group_expand_tooltip
388
+
389
+ # The label for the initial request in a critical request chain.
390
+ # Corresponds to the JSON property `crcInitialNavigation`
391
+ # @return [String]
392
+ attr_accessor :crc_initial_navigation
393
+
394
+ # The label for values shown in the summary of critical request chains.
395
+ # Corresponds to the JSON property `crcLongestDurationLabel`
396
+ # @return [String]
397
+ attr_accessor :crc_longest_duration_label
398
+
399
+ # The label shown next to an audit or metric that has had an error.
400
+ # Corresponds to the JSON property `errorLabel`
401
+ # @return [String]
402
+ attr_accessor :error_label
403
+
404
+ # The error string shown next to an erroring audit.
405
+ # Corresponds to the JSON property `errorMissingAuditInfo`
406
+ # @return [String]
407
+ attr_accessor :error_missing_audit_info
408
+
409
+ # The title of the lab data performance category.
410
+ # Corresponds to the JSON property `labDataTitle`
411
+ # @return [String]
412
+ attr_accessor :lab_data_title
413
+
414
+ # The disclaimer shown under performance explaning that the network can vary.
415
+ # Corresponds to the JSON property `lsPerformanceCategoryDescription`
416
+ # @return [String]
417
+ attr_accessor :ls_performance_category_description
418
+
419
+ # The heading shown above a list of audits that were not computerd in the run.
420
+ # Corresponds to the JSON property `manualAuditsGroupTitle`
421
+ # @return [String]
422
+ attr_accessor :manual_audits_group_title
423
+
424
+ # The heading shown above a list of audits that do not apply to a page.
425
+ # Corresponds to the JSON property `notApplicableAuditsGroupTitle`
426
+ # @return [String]
427
+ attr_accessor :not_applicable_audits_group_title
428
+
429
+ # The heading for the estimated page load savings opportunity of an audit.
430
+ # Corresponds to the JSON property `opportunityResourceColumnLabel`
431
+ # @return [String]
432
+ attr_accessor :opportunity_resource_column_label
433
+
434
+ # The heading for the estimated page load savings of opportunity audits.
435
+ # Corresponds to the JSON property `opportunitySavingsColumnLabel`
436
+ # @return [String]
437
+ attr_accessor :opportunity_savings_column_label
438
+
439
+ # The heading that is shown above a list of audits that are passing.
440
+ # Corresponds to the JSON property `passedAuditsGroupTitle`
441
+ # @return [String]
442
+ attr_accessor :passed_audits_group_title
443
+
444
+ # The label that explains the score gauges scale (0-49, 50-89, 90-100).
445
+ # Corresponds to the JSON property `scorescaleLabel`
446
+ # @return [String]
447
+ attr_accessor :scorescale_label
448
+
449
+ # The label shown preceding important warnings that may have invalidated an
450
+ # entire report.
451
+ # Corresponds to the JSON property `toplevelWarningsMessage`
452
+ # @return [String]
453
+ attr_accessor :toplevel_warnings_message
454
+
455
+ # The disclaimer shown below a performance metric value.
456
+ # Corresponds to the JSON property `varianceDisclaimer`
457
+ # @return [String]
458
+ attr_accessor :variance_disclaimer
459
+
460
+ # The label shown above a bulleted list of warnings.
461
+ # Corresponds to the JSON property `warningHeader`
462
+ # @return [String]
463
+ attr_accessor :warning_header
464
+
465
+ def initialize(**args)
466
+ update!(**args)
467
+ end
468
+
469
+ # Update properties of this object
470
+ def update!(**args)
471
+ @audit_group_expand_tooltip = args[:audit_group_expand_tooltip] if args.key?(:audit_group_expand_tooltip)
472
+ @crc_initial_navigation = args[:crc_initial_navigation] if args.key?(:crc_initial_navigation)
473
+ @crc_longest_duration_label = args[:crc_longest_duration_label] if args.key?(:crc_longest_duration_label)
474
+ @error_label = args[:error_label] if args.key?(:error_label)
475
+ @error_missing_audit_info = args[:error_missing_audit_info] if args.key?(:error_missing_audit_info)
476
+ @lab_data_title = args[:lab_data_title] if args.key?(:lab_data_title)
477
+ @ls_performance_category_description = args[:ls_performance_category_description] if args.key?(:ls_performance_category_description)
478
+ @manual_audits_group_title = args[:manual_audits_group_title] if args.key?(:manual_audits_group_title)
479
+ @not_applicable_audits_group_title = args[:not_applicable_audits_group_title] if args.key?(:not_applicable_audits_group_title)
480
+ @opportunity_resource_column_label = args[:opportunity_resource_column_label] if args.key?(:opportunity_resource_column_label)
481
+ @opportunity_savings_column_label = args[:opportunity_savings_column_label] if args.key?(:opportunity_savings_column_label)
482
+ @passed_audits_group_title = args[:passed_audits_group_title] if args.key?(:passed_audits_group_title)
483
+ @scorescale_label = args[:scorescale_label] if args.key?(:scorescale_label)
484
+ @toplevel_warnings_message = args[:toplevel_warnings_message] if args.key?(:toplevel_warnings_message)
485
+ @variance_disclaimer = args[:variance_disclaimer] if args.key?(:variance_disclaimer)
486
+ @warning_header = args[:warning_header] if args.key?(:warning_header)
487
+ end
488
+ end
489
+ end
490
+
491
+ # A top-level error message that, if present, indicates a serious enough problem
492
+ # that this Lighthouse result may need to be discarded.
493
+ class RuntimeError
494
+ include Google::Apis::Core::Hashable
495
+
496
+ # The enumerated Lighthouse Error code.
497
+ # Corresponds to the JSON property `code`
498
+ # @return [String]
499
+ attr_accessor :code
500
+
501
+ # A human readable message explaining the error code.
502
+ # Corresponds to the JSON property `message`
503
+ # @return [String]
504
+ attr_accessor :message
505
+
506
+ def initialize(**args)
507
+ update!(**args)
508
+ end
509
+
510
+ # Update properties of this object
511
+ def update!(**args)
512
+ @code = args[:code] if args.key?(:code)
513
+ @message = args[:message] if args.key?(:message)
514
+ end
515
+ end
516
+
517
+ # Timing information for this LHR.
518
+ class Timing
519
+ include Google::Apis::Core::Hashable
520
+
521
+ # The total duration of Lighthouse's run.
522
+ # Corresponds to the JSON property `total`
523
+ # @return [Float]
524
+ attr_accessor :total
525
+
526
+ def initialize(**args)
527
+ update!(**args)
528
+ end
529
+
530
+ # Update properties of this object
531
+ def update!(**args)
532
+ @total = args[:total] if args.key?(:total)
533
+ end
534
+ end
535
+ end
536
+
537
+ #
538
+ class PagespeedApiLoadingExperienceV5
539
+ include Google::Apis::Core::Hashable
540
+
541
+ # The url, pattern or origin which the metrics are on.
542
+ # Corresponds to the JSON property `id`
543
+ # @return [String]
544
+ attr_accessor :id
545
+
546
+ #
547
+ # Corresponds to the JSON property `initial_url`
548
+ # @return [String]
549
+ attr_accessor :initial_url
550
+
551
+ #
552
+ # Corresponds to the JSON property `metrics`
553
+ # @return [Hash<String,Google::Apis::PagespeedonlineV5::PagespeedApiLoadingExperienceV5::Metric>]
554
+ attr_accessor :metrics
555
+
556
+ #
557
+ # Corresponds to the JSON property `overall_category`
558
+ # @return [String]
559
+ attr_accessor :overall_category
560
+
561
+ def initialize(**args)
562
+ update!(**args)
563
+ end
564
+
565
+ # Update properties of this object
566
+ def update!(**args)
567
+ @id = args[:id] if args.key?(:id)
568
+ @initial_url = args[:initial_url] if args.key?(:initial_url)
569
+ @metrics = args[:metrics] if args.key?(:metrics)
570
+ @overall_category = args[:overall_category] if args.key?(:overall_category)
571
+ end
572
+
573
+ # The type of the metric.
574
+ class Metric
575
+ include Google::Apis::Core::Hashable
576
+
577
+ #
578
+ # Corresponds to the JSON property `category`
579
+ # @return [String]
580
+ attr_accessor :category
581
+
582
+ #
583
+ # Corresponds to the JSON property `distributions`
584
+ # @return [Array<Google::Apis::PagespeedonlineV5::PagespeedApiLoadingExperienceV5::Metric::Distribution>]
585
+ attr_accessor :distributions
586
+
587
+ #
588
+ # Corresponds to the JSON property `percentile`
589
+ # @return [Fixnum]
590
+ attr_accessor :percentile
591
+
592
+ def initialize(**args)
593
+ update!(**args)
594
+ end
595
+
596
+ # Update properties of this object
597
+ def update!(**args)
598
+ @category = args[:category] if args.key?(:category)
599
+ @distributions = args[:distributions] if args.key?(:distributions)
600
+ @percentile = args[:percentile] if args.key?(:percentile)
601
+ end
602
+
603
+ #
604
+ class Distribution
605
+ include Google::Apis::Core::Hashable
606
+
607
+ #
608
+ # Corresponds to the JSON property `max`
609
+ # @return [Fixnum]
610
+ attr_accessor :max
611
+
612
+ #
613
+ # Corresponds to the JSON property `min`
614
+ # @return [Fixnum]
615
+ attr_accessor :min
616
+
617
+ #
618
+ # Corresponds to the JSON property `proportion`
619
+ # @return [Float]
620
+ attr_accessor :proportion
621
+
622
+ def initialize(**args)
623
+ update!(**args)
624
+ end
625
+
626
+ # Update properties of this object
627
+ def update!(**args)
628
+ @max = args[:max] if args.key?(:max)
629
+ @min = args[:min] if args.key?(:min)
630
+ @proportion = args[:proportion] if args.key?(:proportion)
631
+ end
632
+ end
633
+ end
634
+ end
635
+
636
+ #
637
+ class PagespeedApiPagespeedResponseV5
638
+ include Google::Apis::Core::Hashable
639
+
640
+ # The UTC timestamp of this analysis.
641
+ # Corresponds to the JSON property `analysisUTCTimestamp`
642
+ # @return [String]
643
+ attr_accessor :analysis_utc_timestamp
644
+
645
+ # The captcha verify result
646
+ # Corresponds to the JSON property `captchaResult`
647
+ # @return [String]
648
+ attr_accessor :captcha_result
649
+
650
+ # Canonicalized and final URL for the document, after following page redirects (
651
+ # if any).
652
+ # Corresponds to the JSON property `id`
653
+ # @return [String]
654
+ attr_accessor :id
655
+
656
+ # Kind of result.
657
+ # Corresponds to the JSON property `kind`
658
+ # @return [String]
659
+ attr_accessor :kind
660
+
661
+ # Lighthouse response for the audit url as an object.
662
+ # Corresponds to the JSON property `lighthouseResult`
663
+ # @return [Google::Apis::PagespeedonlineV5::LighthouseResultV5]
664
+ attr_accessor :lighthouse_result
665
+
666
+ # Metrics of end users' page loading experience.
667
+ # Corresponds to the JSON property `loadingExperience`
668
+ # @return [Google::Apis::PagespeedonlineV5::PagespeedApiLoadingExperienceV5]
669
+ attr_accessor :loading_experience
670
+
671
+ # Metrics of the aggregated page loading experience of the origin
672
+ # Corresponds to the JSON property `originLoadingExperience`
673
+ # @return [Google::Apis::PagespeedonlineV5::PagespeedApiLoadingExperienceV5]
674
+ attr_accessor :origin_loading_experience
675
+
676
+ # The version of PageSpeed used to generate these results.
677
+ # Corresponds to the JSON property `version`
678
+ # @return [Google::Apis::PagespeedonlineV5::PagespeedApiPagespeedResponseV5::Version]
679
+ attr_accessor :version
680
+
681
+ def initialize(**args)
682
+ update!(**args)
683
+ end
684
+
685
+ # Update properties of this object
686
+ def update!(**args)
687
+ @analysis_utc_timestamp = args[:analysis_utc_timestamp] if args.key?(:analysis_utc_timestamp)
688
+ @captcha_result = args[:captcha_result] if args.key?(:captcha_result)
689
+ @id = args[:id] if args.key?(:id)
690
+ @kind = args[:kind] if args.key?(:kind)
691
+ @lighthouse_result = args[:lighthouse_result] if args.key?(:lighthouse_result)
692
+ @loading_experience = args[:loading_experience] if args.key?(:loading_experience)
693
+ @origin_loading_experience = args[:origin_loading_experience] if args.key?(:origin_loading_experience)
694
+ @version = args[:version] if args.key?(:version)
695
+ end
696
+
697
+ # The version of PageSpeed used to generate these results.
698
+ class Version
699
+ include Google::Apis::Core::Hashable
700
+
701
+ # The major version number of PageSpeed used to generate these results.
702
+ # Corresponds to the JSON property `major`
703
+ # @return [Fixnum]
704
+ attr_accessor :major
705
+
706
+ # The minor version number of PageSpeed used to generate these results.
707
+ # Corresponds to the JSON property `minor`
708
+ # @return [Fixnum]
709
+ attr_accessor :minor
710
+
711
+ def initialize(**args)
712
+ update!(**args)
713
+ end
714
+
715
+ # Update properties of this object
716
+ def update!(**args)
717
+ @major = args[:major] if args.key?(:major)
718
+ @minor = args[:minor] if args.key?(:minor)
719
+ end
720
+ end
721
+ end
722
+ end
723
+ end
724
+ end