google-api-client 0.25.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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