athenian 2.1.81

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 (682) hide show
  1. checksums.yaml +7 -0
  2. data/CODE_OF_CONDUCT.md +84 -0
  3. data/Gemfile +7 -0
  4. data/Gemfile.lock +60 -0
  5. data/LICENSE.txt +21 -0
  6. data/README.md +76 -0
  7. data/Rakefile +10 -0
  8. data/athenian.gemspec +35 -0
  9. data/bin/console +15 -0
  10. data/bin/setup +8 -0
  11. data/docs/AcceptedInvitation.md +22 -0
  12. data/docs/Account.md +26 -0
  13. data/docs/AccountStatus.md +26 -0
  14. data/docs/AccountUserChangeRequest.md +22 -0
  15. data/docs/AlignApi.md +367 -0
  16. data/docs/CalculatedCodeCheckHistogram.md +28 -0
  17. data/docs/CalculatedCodeCheckMetrics.md +32 -0
  18. data/docs/CalculatedCodeCheckMetricsItem.md +26 -0
  19. data/docs/CalculatedDeploymentMetric.md +24 -0
  20. data/docs/CalculatedDeveloperMetrics.md +28 -0
  21. data/docs/CalculatedDeveloperMetricsItem.md +22 -0
  22. data/docs/CalculatedJIRAHistogram.md +28 -0
  23. data/docs/CalculatedJIRAMetricValues.md +26 -0
  24. data/docs/CalculatedLinearMetricValues.md +26 -0
  25. data/docs/CalculatedLinearMetricValuesConfidenceMinsInner.md +49 -0
  26. data/docs/CalculatedLinearMetricValuesValuesInner.md +51 -0
  27. data/docs/CalculatedPullRequestHistogram.md +28 -0
  28. data/docs/CalculatedPullRequestHistogramFrequenciesInner.md +49 -0
  29. data/docs/CalculatedPullRequestMetrics.md +32 -0
  30. data/docs/CalculatedPullRequestMetricsItem.md +22 -0
  31. data/docs/CalculatedReleaseMetric.md +30 -0
  32. data/docs/CodeBypassingPRsMeasurement.md +26 -0
  33. data/docs/CodeCheckHistogramDefinition.md +24 -0
  34. data/docs/CodeCheckHistogramsRequest.md +32 -0
  35. data/docs/CodeCheckMetricID.md +15 -0
  36. data/docs/CodeCheckMetricsRequest.md +34 -0
  37. data/docs/CodeCheckRunStatistics.md +40 -0
  38. data/docs/CodeCheckRunStatisticsMeanExecutionTime.md +15 -0
  39. data/docs/CodeCheckRunStatisticsMedianExecutionTime.md +15 -0
  40. data/docs/CodeCheckRunStatisticsStddevExecutionTime.md +15 -0
  41. data/docs/CodeFilter.md +34 -0
  42. data/docs/Commit.md +36 -0
  43. data/docs/CommitSignature.md +26 -0
  44. data/docs/CommitsList.md +20 -0
  45. data/docs/CommitsListInclude.md +20 -0
  46. data/docs/Contributor.md +26 -0
  47. data/docs/ContributorIdentity.md +20 -0
  48. data/docs/CreateTokenRequest.md +20 -0
  49. data/docs/CreatedIdentifier.md +18 -0
  50. data/docs/CreatedToken.md +20 -0
  51. data/docs/Datasource.md +15 -0
  52. data/docs/DeleteEventsCacheRequest.md +22 -0
  53. data/docs/DeployedComponent.md +20 -0
  54. data/docs/DeployedPullRequest.md +32 -0
  55. data/docs/DeployedPullRequestAllOf.md +18 -0
  56. data/docs/DeployedRelease.md +40 -0
  57. data/docs/DeploymentAnalysis.md +22 -0
  58. data/docs/DeploymentAnalysisCode.md +28 -0
  59. data/docs/DeploymentConclusion.md +15 -0
  60. data/docs/DeploymentMetricID.md +15 -0
  61. data/docs/DeploymentMetricsRequest.md +32 -0
  62. data/docs/DeploymentModifyLabelsRequest.md +20 -0
  63. data/docs/DeploymentNotification.md +32 -0
  64. data/docs/DeploymentWith.md +22 -0
  65. data/docs/DeveloperMetricID.md +15 -0
  66. data/docs/DeveloperMetricsRequest.md +30 -0
  67. data/docs/DeveloperSummary.md +26 -0
  68. data/docs/DeveloperUpdates.md +28 -0
  69. data/docs/DiffReleasesRequest.md +20 -0
  70. data/docs/DiffedReleases.md +20 -0
  71. data/docs/DiffedReleasesInclude.md +20 -0
  72. data/docs/EventsApi.md +370 -0
  73. data/docs/FilterApi.md +832 -0
  74. data/docs/FilterCodeChecksRequest.md +36 -0
  75. data/docs/FilterCommitsRequest.md +34 -0
  76. data/docs/FilterContributorsRequest.md +28 -0
  77. data/docs/FilterDeploymentsRequest.md +42 -0
  78. data/docs/FilterEnvironmentsRequest.md +26 -0
  79. data/docs/FilterJIRACommon.md +30 -0
  80. data/docs/FilterJIRAStuff.md +40 -0
  81. data/docs/FilterJIRAStuffWith.md +22 -0
  82. data/docs/FilterLabelsRequest.md +20 -0
  83. data/docs/FilterPullRequestsRequest.md +48 -0
  84. data/docs/FilterReleasesRequest.md +34 -0
  85. data/docs/FilterRepositoriesRequest.md +28 -0
  86. data/docs/FilteredCodeCheckRun.md +30 -0
  87. data/docs/FilteredCodeCheckRunPrsStats.md +40 -0
  88. data/docs/FilteredCodeCheckRunTotalStats.md +40 -0
  89. data/docs/FilteredCodeCheckRuns.md +20 -0
  90. data/docs/FilteredDeployment.md +38 -0
  91. data/docs/FilteredDeployments.md +20 -0
  92. data/docs/FilteredDeploymentsInclude.md +20 -0
  93. data/docs/FilteredEnvironment.md +24 -0
  94. data/docs/FilteredJIRAStuff.md +32 -0
  95. data/docs/FilteredLabel.md +24 -0
  96. data/docs/FilteredRelease.md +42 -0
  97. data/docs/ForSetCodeChecks.md +32 -0
  98. data/docs/ForSetCodeChecksJira.md +32 -0
  99. data/docs/ForSetDeployments.md +38 -0
  100. data/docs/ForSetDevelopers.md +30 -0
  101. data/docs/ForSetPullRequests.md +36 -0
  102. data/docs/GenericError.md +26 -0
  103. data/docs/GetApi.md +305 -0
  104. data/docs/GetDeploymentLabels200Response.md +18 -0
  105. data/docs/GetJIRAIssuesInclude.md +15 -0
  106. data/docs/GetJIRAIssuesRequest.md +22 -0
  107. data/docs/GetJIRAIssuesResponse.md +20 -0
  108. data/docs/GetJIRAIssuesResponseInclude.md +20 -0
  109. data/docs/GetPullRequestsRequest.md +22 -0
  110. data/docs/GetReleasesRequest.md +20 -0
  111. data/docs/GoalMetricParams.md +18 -0
  112. data/docs/GoalMetricParamsThreshold.md +49 -0
  113. data/docs/GoalTemplate.md +28 -0
  114. data/docs/GoalTemplateCreateRequest.md +26 -0
  115. data/docs/GoalTemplateMetric.md +51 -0
  116. data/docs/GoalTemplateUpdateRequest.md +24 -0
  117. data/docs/HistogramScale.md +15 -0
  118. data/docs/HistogramsApi.md +226 -0
  119. data/docs/IncludedDeployments.md +18 -0
  120. data/docs/IncludedJIRAIssues.md +18 -0
  121. data/docs/IncludedNativeUser.md +18 -0
  122. data/docs/IncludedNativeUsers.md +18 -0
  123. data/docs/InstallationProgress.md +26 -0
  124. data/docs/IntegrationsApi.md +157 -0
  125. data/docs/Interquartile.md +20 -0
  126. data/docs/InvalidRequestError.md +28 -0
  127. data/docs/InvalidRequestErrorAllOf.md +18 -0
  128. data/docs/InvitationCheckResult.md +22 -0
  129. data/docs/InvitationLink.md +18 -0
  130. data/docs/InvitedUser.md +20 -0
  131. data/docs/JIRAComment.md +22 -0
  132. data/docs/JIRAEpic.md +58 -0
  133. data/docs/JIRAEpicAllOf.md +22 -0
  134. data/docs/JIRAEpicChild.md +56 -0
  135. data/docs/JIRAEpicChildAllOf.md +20 -0
  136. data/docs/JIRAEpicIssueCommon.md +52 -0
  137. data/docs/JIRAFilter.md +32 -0
  138. data/docs/JIRAFilterReturn.md +15 -0
  139. data/docs/JIRAFilterWith.md +22 -0
  140. data/docs/JIRAHistogramDefinition.md +24 -0
  141. data/docs/JIRAHistogramsRequest.md +44 -0
  142. data/docs/JIRAInstallation.md +20 -0
  143. data/docs/JIRAIssue.md +56 -0
  144. data/docs/JIRAIssueAllOf.md +20 -0
  145. data/docs/JIRAIssueType.md +30 -0
  146. data/docs/JIRALabel.md +24 -0
  147. data/docs/JIRAMetricID.md +15 -0
  148. data/docs/JIRAMetricsRequest.md +50 -0
  149. data/docs/JIRAPriority.md +24 -0
  150. data/docs/JIRAProject.md +30 -0
  151. data/docs/JIRAProjectsRequest.md +20 -0
  152. data/docs/JIRAStatus.md +22 -0
  153. data/docs/JIRAStatusCategory.md +15 -0
  154. data/docs/JIRAUser.md +24 -0
  155. data/docs/LinkedJIRAIssue.md +26 -0
  156. data/docs/ListedToken.md +22 -0
  157. data/docs/LogicalDeploymentRules.md +20 -0
  158. data/docs/LogicalPRRules.md +20 -0
  159. data/docs/LogicalRepository.md +26 -0
  160. data/docs/LogicalRepositoryGetRequest.md +20 -0
  161. data/docs/LogicalRepositoryRequest.md +28 -0
  162. data/docs/MappedJIRAIdentity.md +24 -0
  163. data/docs/MappedJIRAIdentityChange.md +20 -0
  164. data/docs/MatchIdentitiesRequest.md +20 -0
  165. data/docs/MatchedIdentity.md +22 -0
  166. data/docs/MatchedIdentityTo.md +15 -0
  167. data/docs/MetricsApi.md +518 -0
  168. data/docs/NotifiedDeploymentsInner.md +20 -0
  169. data/docs/NotifyDeployments200Response.md +18 -0
  170. data/docs/Organization.md +22 -0
  171. data/docs/PaginatePullRequestsRequest.md +20 -0
  172. data/docs/PaginationApi.md +82 -0
  173. data/docs/PatchTokenRequest.md +18 -0
  174. data/docs/ProductFeature.md +20 -0
  175. data/docs/ProductFeatureParameters.md +51 -0
  176. data/docs/PullRequest.md +74 -0
  177. data/docs/PullRequestEvent.md +15 -0
  178. data/docs/PullRequestHistogramDefinition.md +24 -0
  179. data/docs/PullRequestHistogramsRequest.md +34 -0
  180. data/docs/PullRequestLabel.md +22 -0
  181. data/docs/PullRequestMetricID.md +15 -0
  182. data/docs/PullRequestMetricsRequest.md +36 -0
  183. data/docs/PullRequestNumbers.md +20 -0
  184. data/docs/PullRequestPaginationPlan.md +18 -0
  185. data/docs/PullRequestParticipant.md +20 -0
  186. data/docs/PullRequestSet.md +20 -0
  187. data/docs/PullRequestSetInclude.md +20 -0
  188. data/docs/PullRequestStage.md +15 -0
  189. data/docs/PullRequestWith.md +30 -0
  190. data/docs/RegistrationApi.md +420 -0
  191. data/docs/ReleaseDiff.md +22 -0
  192. data/docs/ReleaseMatchRequest.md +28 -0
  193. data/docs/ReleaseMatchSetting.md +26 -0
  194. data/docs/ReleaseMatchStrategy.md +15 -0
  195. data/docs/ReleaseMetricID.md +15 -0
  196. data/docs/ReleaseMetricsRequest.md +42 -0
  197. data/docs/ReleaseMetricsRequestForInner.md +49 -0
  198. data/docs/ReleaseNames.md +20 -0
  199. data/docs/ReleaseNotification.md +28 -0
  200. data/docs/ReleaseNotificationStatus.md +15 -0
  201. data/docs/ReleasePair.md +20 -0
  202. data/docs/ReleaseSet.md +20 -0
  203. data/docs/ReleaseSetInclude.md +22 -0
  204. data/docs/ReleaseWith.md +22 -0
  205. data/docs/ReleasedPullRequest.md +30 -0
  206. data/docs/ReleasedPullRequestAuthor.md +15 -0
  207. data/docs/ReposetApi.md +363 -0
  208. data/docs/RepositorySetCreateRequest.md +22 -0
  209. data/docs/RepositorySetListItem.md +26 -0
  210. data/docs/RepositorySetWithName.md +22 -0
  211. data/docs/SecurityApi.md +290 -0
  212. data/docs/SetMappedJIRAIdentitiesRequest.md +20 -0
  213. data/docs/SettingsApi.md +942 -0
  214. data/docs/Share.md +22 -0
  215. data/docs/StageTimings.md +26 -0
  216. data/docs/TableFetchingProgress.md +22 -0
  217. data/docs/Team.md +24 -0
  218. data/docs/TeamApi.md +440 -0
  219. data/docs/TeamCreateRequest.md +24 -0
  220. data/docs/TeamUpdateRequest.md +22 -0
  221. data/docs/User.md +34 -0
  222. data/docs/UserApi.md +431 -0
  223. data/docs/VersionApi.md +67 -0
  224. data/docs/Versions.md +20 -0
  225. data/docs/WithBothJiraAndJiragroups.md +20 -0
  226. data/docs/WorkType.md +22 -0
  227. data/docs/WorkTypeGetRequest.md +20 -0
  228. data/docs/WorkTypePutRequest.md +20 -0
  229. data/docs/WorkTypeRule.md +20 -0
  230. data/generator/generate_api.sh +37 -0
  231. data/generator/generator_config.yml +10 -0
  232. data/generator/openapi.yaml +11297 -0
  233. data/generator/openapi_generated.yaml +11139 -0
  234. data/generator/template/api_info.mustache +6 -0
  235. data/generator/template_data.json +3 -0
  236. data/lib/athenian/api/align_api.rb +335 -0
  237. data/lib/athenian/api/events_api.rb +334 -0
  238. data/lib/athenian/api/filter_api.rb +701 -0
  239. data/lib/athenian/api/get_api.rb +266 -0
  240. data/lib/athenian/api/histograms_api.rb +217 -0
  241. data/lib/athenian/api/integrations_api.rb +150 -0
  242. data/lib/athenian/api/metrics_api.rb +481 -0
  243. data/lib/athenian/api/pagination_api.rb +81 -0
  244. data/lib/athenian/api/registration_api.rb +395 -0
  245. data/lib/athenian/api/reposet_api.rb +332 -0
  246. data/lib/athenian/api/security_api.rb +271 -0
  247. data/lib/athenian/api/settings_api.rb +820 -0
  248. data/lib/athenian/api/team_api.rb +396 -0
  249. data/lib/athenian/api/user_api.rb +381 -0
  250. data/lib/athenian/api/version_api.rb +74 -0
  251. data/lib/athenian/api_client.rb +389 -0
  252. data/lib/athenian/api_error.rb +55 -0
  253. data/lib/athenian/configuration.rb +294 -0
  254. data/lib/athenian/models/accepted_invitation.rb +241 -0
  255. data/lib/athenian/models/account.rb +283 -0
  256. data/lib/athenian/models/account_status.rb +281 -0
  257. data/lib/athenian/models/account_user_change_request.rb +285 -0
  258. data/lib/athenian/models/calculated_code_check_histogram.rb +318 -0
  259. data/lib/athenian/models/calculated_code_check_metrics.rb +386 -0
  260. data/lib/athenian/models/calculated_code_check_metrics_item.rb +291 -0
  261. data/lib/athenian/models/calculated_deployment_metric.rb +268 -0
  262. data/lib/athenian/models/calculated_developer_metrics.rb +340 -0
  263. data/lib/athenian/models/calculated_developer_metrics_item.rb +252 -0
  264. data/lib/athenian/models/calculated_jira_histogram.rb +313 -0
  265. data/lib/athenian/models/calculated_jira_metric_values.rb +266 -0
  266. data/lib/athenian/models/calculated_linear_metric_values.rb +273 -0
  267. data/lib/athenian/models/calculated_linear_metric_values_confidence_mins_inner.rb +101 -0
  268. data/lib/athenian/models/calculated_linear_metric_values_values_inner.rb +102 -0
  269. data/lib/athenian/models/calculated_pull_request_histogram.rb +318 -0
  270. data/lib/athenian/models/calculated_pull_request_histogram_frequencies_inner.rb +101 -0
  271. data/lib/athenian/models/calculated_pull_request_metrics.rb +391 -0
  272. data/lib/athenian/models/calculated_pull_request_metrics_item.rb +247 -0
  273. data/lib/athenian/models/calculated_release_metric.rb +301 -0
  274. data/lib/athenian/models/code_bypassing_prs_measurement.rb +357 -0
  275. data/lib/athenian/models/code_check_histogram_definition.rb +303 -0
  276. data/lib/athenian/models/code_check_histograms_request.rb +365 -0
  277. data/lib/athenian/models/code_check_metric_id.rb +55 -0
  278. data/lib/athenian/models/code_check_metrics_request.rb +401 -0
  279. data/lib/athenian/models/code_check_run_statistics.rb +448 -0
  280. data/lib/athenian/models/code_check_run_statistics_mean_execution_time.rb +224 -0
  281. data/lib/athenian/models/code_check_run_statistics_median_execution_time.rb +224 -0
  282. data/lib/athenian/models/code_check_run_statistics_stddev_execution_time.rb +224 -0
  283. data/lib/athenian/models/code_filter.rb +351 -0
  284. data/lib/athenian/models/commit.rb +405 -0
  285. data/lib/athenian/models/commit_signature.rb +266 -0
  286. data/lib/athenian/models/commits_list.rb +236 -0
  287. data/lib/athenian/models/commits_list_include.rb +242 -0
  288. data/lib/athenian/models/contributor.rb +261 -0
  289. data/lib/athenian/models/contributor_identity.rb +230 -0
  290. data/lib/athenian/models/create_token_request.rb +235 -0
  291. data/lib/athenian/models/created_identifier.rb +220 -0
  292. data/lib/athenian/models/created_token.rb +236 -0
  293. data/lib/athenian/models/datasource.rb +37 -0
  294. data/lib/athenian/models/delete_events_cache_request.rb +277 -0
  295. data/lib/athenian/models/deployed_component.rb +255 -0
  296. data/lib/athenian/models/deployed_pull_request.rb +326 -0
  297. data/lib/athenian/models/deployed_pull_request_all_of.rb +220 -0
  298. data/lib/athenian/models/deployed_release.rb +488 -0
  299. data/lib/athenian/models/deployment_analysis.rb +244 -0
  300. data/lib/athenian/models/deployment_analysis_code.rb +303 -0
  301. data/lib/athenian/models/deployment_conclusion.rb +38 -0
  302. data/lib/athenian/models/deployment_metric_id.rb +52 -0
  303. data/lib/athenian/models/deployment_metrics_request.rb +391 -0
  304. data/lib/athenian/models/deployment_modify_labels_request.rb +227 -0
  305. data/lib/athenian/models/deployment_notification.rb +390 -0
  306. data/lib/athenian/models/deployment_with.rb +233 -0
  307. data/lib/athenian/models/developer_metric_id.rb +51 -0
  308. data/lib/athenian/models/developer_metrics_request.rb +355 -0
  309. data/lib/athenian/models/developer_summary.rb +271 -0
  310. data/lib/athenian/models/developer_updates.rb +356 -0
  311. data/lib/athenian/models/diff_releases_request.rb +237 -0
  312. data/lib/athenian/models/diffed_releases.rb +237 -0
  313. data/lib/athenian/models/diffed_releases_include.rb +242 -0
  314. data/lib/athenian/models/filter_code_checks_request.rb +356 -0
  315. data/lib/athenian/models/filter_commits_request.rb +385 -0
  316. data/lib/athenian/models/filter_contributors_request.rb +331 -0
  317. data/lib/athenian/models/filter_deployments_request.rb +383 -0
  318. data/lib/athenian/models/filter_environments_request.rb +294 -0
  319. data/lib/athenian/models/filter_jira_common.rb +318 -0
  320. data/lib/athenian/models/filter_jira_stuff.rb +373 -0
  321. data/lib/athenian/models/filter_jira_stuff_with.rb +248 -0
  322. data/lib/athenian/models/filter_labels_request.rb +233 -0
  323. data/lib/athenian/models/filter_pull_requests_request.rb +456 -0
  324. data/lib/athenian/models/filter_releases_request.rb +339 -0
  325. data/lib/athenian/models/filter_repositories_request.rb +307 -0
  326. data/lib/athenian/models/filtered_code_check_run.rb +306 -0
  327. data/lib/athenian/models/filtered_code_check_run_prs_stats.rb +454 -0
  328. data/lib/athenian/models/filtered_code_check_run_total_stats.rb +454 -0
  329. data/lib/athenian/models/filtered_code_check_runs.rb +240 -0
  330. data/lib/athenian/models/filtered_deployment.rb +436 -0
  331. data/lib/athenian/models/filtered_deployments.rb +237 -0
  332. data/lib/athenian/models/filtered_deployments_include.rb +243 -0
  333. data/lib/athenian/models/filtered_environment.rb +283 -0
  334. data/lib/athenian/models/filtered_jira_stuff.rb +334 -0
  335. data/lib/athenian/models/filtered_label.rb +298 -0
  336. data/lib/athenian/models/filtered_release.rb +483 -0
  337. data/lib/athenian/models/for_set_code_checks.rb +334 -0
  338. data/lib/athenian/models/for_set_code_checks_jira.rb +306 -0
  339. data/lib/athenian/models/for_set_deployments.rb +343 -0
  340. data/lib/athenian/models/for_set_developers.rb +288 -0
  341. data/lib/athenian/models/for_set_pull_requests.rb +371 -0
  342. data/lib/athenian/models/generic_error.rb +270 -0
  343. data/lib/athenian/models/get_deployment_labels200_response.rb +220 -0
  344. data/lib/athenian/models/get_jira_issues_include.rb +39 -0
  345. data/lib/athenian/models/get_jira_issues_request.rb +269 -0
  346. data/lib/athenian/models/get_jira_issues_response.rb +231 -0
  347. data/lib/athenian/models/get_jira_issues_response_include.rb +229 -0
  348. data/lib/athenian/models/get_pull_requests_request.rb +284 -0
  349. data/lib/athenian/models/get_releases_request.rb +238 -0
  350. data/lib/athenian/models/goal_metric_params.rb +215 -0
  351. data/lib/athenian/models/goal_metric_params_threshold.rb +101 -0
  352. data/lib/athenian/models/goal_template.rb +305 -0
  353. data/lib/athenian/models/goal_template_create_request.rb +290 -0
  354. data/lib/athenian/models/goal_template_metric.rb +102 -0
  355. data/lib/athenian/models/goal_template_update_request.rb +275 -0
  356. data/lib/athenian/models/histogram_scale.rb +37 -0
  357. data/lib/athenian/models/included_deployments.rb +218 -0
  358. data/lib/athenian/models/included_jira_issues.rb +218 -0
  359. data/lib/athenian/models/included_native_user.rb +220 -0
  360. data/lib/athenian/models/included_native_users.rb +223 -0
  361. data/lib/athenian/models/installation_progress.rb +283 -0
  362. data/lib/athenian/models/interquartile.rb +234 -0
  363. data/lib/athenian/models/invalid_request_error.rb +288 -0
  364. data/lib/athenian/models/invalid_request_error_all_of.rb +215 -0
  365. data/lib/athenian/models/invitation_check_result.rb +274 -0
  366. data/lib/athenian/models/invitation_link.rb +221 -0
  367. data/lib/athenian/models/invited_user.rb +235 -0
  368. data/lib/athenian/models/jira_comment.rb +250 -0
  369. data/lib/athenian/models/jira_epic.rb +487 -0
  370. data/lib/athenian/models/jira_epic_all_of.rb +247 -0
  371. data/lib/athenian/models/jira_epic_child.rb +475 -0
  372. data/lib/athenian/models/jira_epic_child_all_of.rb +235 -0
  373. data/lib/athenian/models/jira_epic_issue_common.rb +437 -0
  374. data/lib/athenian/models/jira_filter.rb +300 -0
  375. data/lib/athenian/models/jira_filter_return.rb +44 -0
  376. data/lib/athenian/models/jira_filter_with.rb +242 -0
  377. data/lib/athenian/models/jira_histogram_definition.rb +303 -0
  378. data/lib/athenian/models/jira_histograms_request.rb +436 -0
  379. data/lib/athenian/models/jira_installation.rb +238 -0
  380. data/lib/athenian/models/jira_issue.rb +471 -0
  381. data/lib/athenian/models/jira_issue_all_of.rb +232 -0
  382. data/lib/athenian/models/jira_issue_type.rb +330 -0
  383. data/lib/athenian/models/jira_label.rb +260 -0
  384. data/lib/athenian/models/jira_metric_id.rb +48 -0
  385. data/lib/athenian/models/jira_metrics_request.rb +495 -0
  386. data/lib/athenian/models/jira_priority.rb +306 -0
  387. data/lib/athenian/models/jira_project.rb +307 -0
  388. data/lib/athenian/models/jira_projects_request.rb +238 -0
  389. data/lib/athenian/models/jira_status.rb +272 -0
  390. data/lib/athenian/models/jira_status_category.rb +39 -0
  391. data/lib/athenian/models/jira_user.rb +294 -0
  392. data/lib/athenian/models/linked_jira_issue.rb +273 -0
  393. data/lib/athenian/models/listed_token.rb +251 -0
  394. data/lib/athenian/models/logical_deployment_rules.rb +228 -0
  395. data/lib/athenian/models/logical_pr_rules.rb +228 -0
  396. data/lib/athenian/models/logical_repository.rb +303 -0
  397. data/lib/athenian/models/logical_repository_get_request.rb +236 -0
  398. data/lib/athenian/models/logical_repository_request.rb +318 -0
  399. data/lib/athenian/models/mapped_jira_identity.rb +289 -0
  400. data/lib/athenian/models/mapped_jira_identity_change.rb +232 -0
  401. data/lib/athenian/models/match_identities_request.rb +237 -0
  402. data/lib/athenian/models/matched_identity.rb +277 -0
  403. data/lib/athenian/models/matched_identity_to.rb +224 -0
  404. data/lib/athenian/models/notified_deployments_inner.rb +235 -0
  405. data/lib/athenian/models/notify_deployments200_response.rb +222 -0
  406. data/lib/athenian/models/organization.rb +248 -0
  407. data/lib/athenian/models/paginate_pull_requests_request.rb +254 -0
  408. data/lib/athenian/models/patch_token_request.rb +216 -0
  409. data/lib/athenian/models/product_feature.rb +234 -0
  410. data/lib/athenian/models/product_feature_parameters.rb +102 -0
  411. data/lib/athenian/models/pull_request.rb +727 -0
  412. data/lib/athenian/models/pull_request_event.rb +45 -0
  413. data/lib/athenian/models/pull_request_histogram_definition.rb +303 -0
  414. data/lib/athenian/models/pull_request_histograms_request.rb +380 -0
  415. data/lib/athenian/models/pull_request_label.rb +265 -0
  416. data/lib/athenian/models/pull_request_metric_id.rb +105 -0
  417. data/lib/athenian/models/pull_request_metrics_request.rb +416 -0
  418. data/lib/athenian/models/pull_request_numbers.rb +237 -0
  419. data/lib/athenian/models/pull_request_pagination_plan.rb +218 -0
  420. data/lib/athenian/models/pull_request_participant.rb +259 -0
  421. data/lib/athenian/models/pull_request_set.rb +237 -0
  422. data/lib/athenian/models/pull_request_set_include.rb +242 -0
  423. data/lib/athenian/models/pull_request_stage.rb +43 -0
  424. data/lib/athenian/models/pull_request_with.rb +290 -0
  425. data/lib/athenian/models/release_diff.rb +251 -0
  426. data/lib/athenian/models/release_match_request.rb +304 -0
  427. data/lib/athenian/models/release_match_setting.rb +292 -0
  428. data/lib/athenian/models/release_match_strategy.rb +39 -0
  429. data/lib/athenian/models/release_metric_id.rb +60 -0
  430. data/lib/athenian/models/release_metrics_request.rb +448 -0
  431. data/lib/athenian/models/release_metrics_request_for_inner.rb +101 -0
  432. data/lib/athenian/models/release_names.rb +238 -0
  433. data/lib/athenian/models/release_notification.rb +322 -0
  434. data/lib/athenian/models/release_notification_status.rb +38 -0
  435. data/lib/athenian/models/release_pair.rb +236 -0
  436. data/lib/athenian/models/release_set.rb +227 -0
  437. data/lib/athenian/models/release_set_include.rb +255 -0
  438. data/lib/athenian/models/release_with.rb +233 -0
  439. data/lib/athenian/models/released_pull_request.rb +303 -0
  440. data/lib/athenian/models/released_pull_request_author.rb +224 -0
  441. data/lib/athenian/models/repository_set_create_request.rb +252 -0
  442. data/lib/athenian/models/repository_set_list_item.rb +271 -0
  443. data/lib/athenian/models/repository_set_with_name.rb +235 -0
  444. data/lib/athenian/models/set_mapped_jira_identities_request.rb +238 -0
  445. data/lib/athenian/models/share.rb +251 -0
  446. data/lib/athenian/models/stage_timings.rb +335 -0
  447. data/lib/athenian/models/table_fetching_progress.rb +289 -0
  448. data/lib/athenian/models/team.rb +264 -0
  449. data/lib/athenian/models/team_create_request.rb +264 -0
  450. data/lib/athenian/models/team_update_request.rb +249 -0
  451. data/lib/athenian/models/user.rb +313 -0
  452. data/lib/athenian/models/versions.rb +233 -0
  453. data/lib/athenian/models/with_both_jira_and_jiragroups.rb +226 -0
  454. data/lib/athenian/models/work_type.rb +292 -0
  455. data/lib/athenian/models/work_type_get_request.rb +255 -0
  456. data/lib/athenian/models/work_type_put_request.rb +235 -0
  457. data/lib/athenian/models/work_type_rule.rb +255 -0
  458. data/lib/athenian/version.rb +12 -0
  459. data/lib/athenian.rb +255 -0
  460. data/spec/api/align_api_spec.rb +89 -0
  461. data/spec/api/events_api_spec.rb +88 -0
  462. data/spec/api/filter_api_spec.rb +153 -0
  463. data/spec/api/get_api_spec.rb +76 -0
  464. data/spec/api/histograms_api_spec.rb +65 -0
  465. data/spec/api/integrations_api_spec.rb +55 -0
  466. data/spec/api/metrics_api_spec.rb +109 -0
  467. data/spec/api/pagination_api_spec.rb +43 -0
  468. data/spec/api/registration_api_spec.rb +98 -0
  469. data/spec/api/reposet_api_spec.rb +88 -0
  470. data/spec/api/security_api_spec.rb +77 -0
  471. data/spec/api/settings_api_spec.rb +175 -0
  472. data/spec/api/team_api_spec.rb +100 -0
  473. data/spec/api/user_api_spec.rb +97 -0
  474. data/spec/api/version_api_spec.rb +42 -0
  475. data/spec/api_client_spec.rb +225 -0
  476. data/spec/configuration_spec.rb +39 -0
  477. data/spec/models/accepted_invitation_spec.rb +43 -0
  478. data/spec/models/account_spec.rb +55 -0
  479. data/spec/models/account_status_spec.rb +55 -0
  480. data/spec/models/account_user_change_request_spec.rb +47 -0
  481. data/spec/models/calculated_code_check_histogram_spec.rb +61 -0
  482. data/spec/models/calculated_code_check_metrics_item_spec.rb +55 -0
  483. data/spec/models/calculated_code_check_metrics_spec.rb +73 -0
  484. data/spec/models/calculated_deployment_metric_spec.rb +49 -0
  485. data/spec/models/calculated_developer_metrics_item_spec.rb +43 -0
  486. data/spec/models/calculated_developer_metrics_spec.rb +61 -0
  487. data/spec/models/calculated_jira_histogram_spec.rb +61 -0
  488. data/spec/models/calculated_jira_metric_values_spec.rb +55 -0
  489. data/spec/models/calculated_linear_metric_values_confidence_mins_inner_spec.rb +28 -0
  490. data/spec/models/calculated_linear_metric_values_spec.rb +55 -0
  491. data/spec/models/calculated_linear_metric_values_values_inner_spec.rb +28 -0
  492. data/spec/models/calculated_pull_request_histogram_frequencies_inner_spec.rb +28 -0
  493. data/spec/models/calculated_pull_request_histogram_spec.rb +61 -0
  494. data/spec/models/calculated_pull_request_metrics_item_spec.rb +43 -0
  495. data/spec/models/calculated_pull_request_metrics_spec.rb +73 -0
  496. data/spec/models/calculated_release_metric_spec.rb +67 -0
  497. data/spec/models/code_bypassing_prs_measurement_spec.rb +55 -0
  498. data/spec/models/code_check_histogram_definition_spec.rb +49 -0
  499. data/spec/models/code_check_histograms_request_spec.rb +73 -0
  500. data/spec/models/code_check_metric_id_spec.rb +25 -0
  501. data/spec/models/code_check_metrics_request_spec.rb +79 -0
  502. data/spec/models/code_check_run_statistics_mean_execution_time_spec.rb +25 -0
  503. data/spec/models/code_check_run_statistics_median_execution_time_spec.rb +25 -0
  504. data/spec/models/code_check_run_statistics_spec.rb +97 -0
  505. data/spec/models/code_check_run_statistics_stddev_execution_time_spec.rb +25 -0
  506. data/spec/models/code_filter_spec.rb +79 -0
  507. data/spec/models/commit_signature_spec.rb +55 -0
  508. data/spec/models/commit_spec.rb +85 -0
  509. data/spec/models/commits_list_include_spec.rb +37 -0
  510. data/spec/models/commits_list_spec.rb +37 -0
  511. data/spec/models/contributor_identity_spec.rb +37 -0
  512. data/spec/models/contributor_spec.rb +55 -0
  513. data/spec/models/create_token_request_spec.rb +37 -0
  514. data/spec/models/created_identifier_spec.rb +31 -0
  515. data/spec/models/created_token_spec.rb +37 -0
  516. data/spec/models/datasource_spec.rb +25 -0
  517. data/spec/models/delete_events_cache_request_spec.rb +47 -0
  518. data/spec/models/deployed_component_spec.rb +37 -0
  519. data/spec/models/deployed_pull_request_all_of_spec.rb +31 -0
  520. data/spec/models/deployed_pull_request_spec.rb +73 -0
  521. data/spec/models/deployed_release_spec.rb +97 -0
  522. data/spec/models/deployment_analysis_code_spec.rb +61 -0
  523. data/spec/models/deployment_analysis_spec.rb +43 -0
  524. data/spec/models/deployment_conclusion_spec.rb +25 -0
  525. data/spec/models/deployment_metric_id_spec.rb +25 -0
  526. data/spec/models/deployment_metrics_request_spec.rb +73 -0
  527. data/spec/models/deployment_modify_labels_request_spec.rb +37 -0
  528. data/spec/models/deployment_notification_spec.rb +73 -0
  529. data/spec/models/deployment_with_spec.rb +43 -0
  530. data/spec/models/developer_metric_id_spec.rb +25 -0
  531. data/spec/models/developer_metrics_request_spec.rb +67 -0
  532. data/spec/models/developer_summary_spec.rb +55 -0
  533. data/spec/models/developer_updates_spec.rb +61 -0
  534. data/spec/models/diff_releases_request_spec.rb +37 -0
  535. data/spec/models/diffed_releases_include_spec.rb +37 -0
  536. data/spec/models/diffed_releases_spec.rb +37 -0
  537. data/spec/models/filter_code_checks_request_spec.rb +85 -0
  538. data/spec/models/filter_commits_request_spec.rb +83 -0
  539. data/spec/models/filter_contributors_request_spec.rb +65 -0
  540. data/spec/models/filter_deployments_request_spec.rb +103 -0
  541. data/spec/models/filter_environments_request_spec.rb +55 -0
  542. data/spec/models/filter_jira_common_spec.rb +67 -0
  543. data/spec/models/filter_jira_stuff_spec.rb +97 -0
  544. data/spec/models/filter_jira_stuff_with_spec.rb +43 -0
  545. data/spec/models/filter_labels_request_spec.rb +37 -0
  546. data/spec/models/filter_pull_requests_request_spec.rb +121 -0
  547. data/spec/models/filter_releases_request_spec.rb +79 -0
  548. data/spec/models/filter_repositories_request_spec.rb +61 -0
  549. data/spec/models/filtered_code_check_run_prs_stats_spec.rb +97 -0
  550. data/spec/models/filtered_code_check_run_spec.rb +67 -0
  551. data/spec/models/filtered_code_check_run_total_stats_spec.rb +97 -0
  552. data/spec/models/filtered_code_check_runs_spec.rb +37 -0
  553. data/spec/models/filtered_deployment_spec.rb +91 -0
  554. data/spec/models/filtered_deployments_include_spec.rb +37 -0
  555. data/spec/models/filtered_deployments_spec.rb +37 -0
  556. data/spec/models/filtered_environment_spec.rb +49 -0
  557. data/spec/models/filtered_jira_stuff_spec.rb +73 -0
  558. data/spec/models/filtered_label_spec.rb +49 -0
  559. data/spec/models/filtered_release_spec.rb +103 -0
  560. data/spec/models/for_set_code_checks_jira_spec.rb +73 -0
  561. data/spec/models/for_set_code_checks_spec.rb +73 -0
  562. data/spec/models/for_set_deployments_spec.rb +91 -0
  563. data/spec/models/for_set_developers_spec.rb +67 -0
  564. data/spec/models/for_set_pull_requests_spec.rb +85 -0
  565. data/spec/models/generic_error_spec.rb +55 -0
  566. data/spec/models/get_deployment_labels200_response_spec.rb +31 -0
  567. data/spec/models/get_jira_issues_include_spec.rb +25 -0
  568. data/spec/models/get_jira_issues_request_spec.rb +43 -0
  569. data/spec/models/get_jira_issues_response_include_spec.rb +37 -0
  570. data/spec/models/get_jira_issues_response_spec.rb +37 -0
  571. data/spec/models/get_pull_requests_request_spec.rb +43 -0
  572. data/spec/models/get_releases_request_spec.rb +37 -0
  573. data/spec/models/goal_metric_params_spec.rb +31 -0
  574. data/spec/models/goal_metric_params_threshold_spec.rb +28 -0
  575. data/spec/models/goal_template_create_request_spec.rb +55 -0
  576. data/spec/models/goal_template_metric_spec.rb +28 -0
  577. data/spec/models/goal_template_spec.rb +61 -0
  578. data/spec/models/goal_template_update_request_spec.rb +49 -0
  579. data/spec/models/histogram_scale_spec.rb +25 -0
  580. data/spec/models/included_deployments_spec.rb +31 -0
  581. data/spec/models/included_jira_issues_spec.rb +31 -0
  582. data/spec/models/included_native_user_spec.rb +31 -0
  583. data/spec/models/included_native_users_spec.rb +31 -0
  584. data/spec/models/installation_progress_spec.rb +55 -0
  585. data/spec/models/interquartile_spec.rb +37 -0
  586. data/spec/models/invalid_request_error_all_of_spec.rb +31 -0
  587. data/spec/models/invalid_request_error_spec.rb +61 -0
  588. data/spec/models/invitation_check_result_spec.rb +47 -0
  589. data/spec/models/invitation_link_spec.rb +31 -0
  590. data/spec/models/invited_user_spec.rb +37 -0
  591. data/spec/models/jira_comment_spec.rb +43 -0
  592. data/spec/models/jira_epic_all_of_spec.rb +43 -0
  593. data/spec/models/jira_epic_child_all_of_spec.rb +37 -0
  594. data/spec/models/jira_epic_child_spec.rb +145 -0
  595. data/spec/models/jira_epic_issue_common_spec.rb +133 -0
  596. data/spec/models/jira_epic_spec.rb +151 -0
  597. data/spec/models/jira_filter_return_spec.rb +25 -0
  598. data/spec/models/jira_filter_spec.rb +73 -0
  599. data/spec/models/jira_filter_with_spec.rb +43 -0
  600. data/spec/models/jira_histogram_definition_spec.rb +49 -0
  601. data/spec/models/jira_histograms_request_spec.rb +109 -0
  602. data/spec/models/jira_installation_spec.rb +37 -0
  603. data/spec/models/jira_issue_all_of_spec.rb +37 -0
  604. data/spec/models/jira_issue_spec.rb +145 -0
  605. data/spec/models/jira_issue_type_spec.rb +67 -0
  606. data/spec/models/jira_label_spec.rb +49 -0
  607. data/spec/models/jira_metric_id_spec.rb +25 -0
  608. data/spec/models/jira_metrics_request_spec.rb +127 -0
  609. data/spec/models/jira_priority_spec.rb +49 -0
  610. data/spec/models/jira_project_spec.rb +67 -0
  611. data/spec/models/jira_projects_request_spec.rb +37 -0
  612. data/spec/models/jira_status_category_spec.rb +25 -0
  613. data/spec/models/jira_status_spec.rb +43 -0
  614. data/spec/models/jira_user_spec.rb +53 -0
  615. data/spec/models/linked_jira_issue_spec.rb +55 -0
  616. data/spec/models/listed_token_spec.rb +43 -0
  617. data/spec/models/logical_deployment_rules_spec.rb +37 -0
  618. data/spec/models/logical_pr_rules_spec.rb +37 -0
  619. data/spec/models/logical_repository_get_request_spec.rb +37 -0
  620. data/spec/models/logical_repository_request_spec.rb +61 -0
  621. data/spec/models/logical_repository_spec.rb +55 -0
  622. data/spec/models/mapped_jira_identity_change_spec.rb +37 -0
  623. data/spec/models/mapped_jira_identity_spec.rb +49 -0
  624. data/spec/models/match_identities_request_spec.rb +37 -0
  625. data/spec/models/matched_identity_spec.rb +43 -0
  626. data/spec/models/matched_identity_to_spec.rb +25 -0
  627. data/spec/models/notified_deployments_inner_spec.rb +37 -0
  628. data/spec/models/notify_deployments200_response_spec.rb +31 -0
  629. data/spec/models/organization_spec.rb +43 -0
  630. data/spec/models/paginate_pull_requests_request_spec.rb +37 -0
  631. data/spec/models/patch_token_request_spec.rb +31 -0
  632. data/spec/models/product_feature_parameters_spec.rb +28 -0
  633. data/spec/models/product_feature_spec.rb +37 -0
  634. data/spec/models/pull_request_event_spec.rb +25 -0
  635. data/spec/models/pull_request_histogram_definition_spec.rb +49 -0
  636. data/spec/models/pull_request_histograms_request_spec.rb +79 -0
  637. data/spec/models/pull_request_label_spec.rb +43 -0
  638. data/spec/models/pull_request_metric_id_spec.rb +25 -0
  639. data/spec/models/pull_request_metrics_request_spec.rb +85 -0
  640. data/spec/models/pull_request_numbers_spec.rb +37 -0
  641. data/spec/models/pull_request_pagination_plan_spec.rb +31 -0
  642. data/spec/models/pull_request_participant_spec.rb +41 -0
  643. data/spec/models/pull_request_set_include_spec.rb +37 -0
  644. data/spec/models/pull_request_set_spec.rb +37 -0
  645. data/spec/models/pull_request_spec.rb +199 -0
  646. data/spec/models/pull_request_stage_spec.rb +25 -0
  647. data/spec/models/pull_request_with_spec.rb +67 -0
  648. data/spec/models/release_diff_spec.rb +43 -0
  649. data/spec/models/release_match_request_spec.rb +61 -0
  650. data/spec/models/release_match_setting_spec.rb +55 -0
  651. data/spec/models/release_match_strategy_spec.rb +25 -0
  652. data/spec/models/release_metric_id_spec.rb +25 -0
  653. data/spec/models/release_metrics_request_for_inner_spec.rb +28 -0
  654. data/spec/models/release_metrics_request_spec.rb +103 -0
  655. data/spec/models/release_names_spec.rb +37 -0
  656. data/spec/models/release_notification_spec.rb +61 -0
  657. data/spec/models/release_notification_status_spec.rb +25 -0
  658. data/spec/models/release_pair_spec.rb +37 -0
  659. data/spec/models/release_set_include_spec.rb +43 -0
  660. data/spec/models/release_set_spec.rb +37 -0
  661. data/spec/models/release_with_spec.rb +43 -0
  662. data/spec/models/released_pull_request_author_spec.rb +25 -0
  663. data/spec/models/released_pull_request_spec.rb +67 -0
  664. data/spec/models/repository_set_create_request_spec.rb +43 -0
  665. data/spec/models/repository_set_list_item_spec.rb +55 -0
  666. data/spec/models/repository_set_with_name_spec.rb +43 -0
  667. data/spec/models/set_mapped_jira_identities_request_spec.rb +37 -0
  668. data/spec/models/share_spec.rb +43 -0
  669. data/spec/models/stage_timings_spec.rb +55 -0
  670. data/spec/models/table_fetching_progress_spec.rb +43 -0
  671. data/spec/models/team_create_request_spec.rb +49 -0
  672. data/spec/models/team_spec.rb +49 -0
  673. data/spec/models/team_update_request_spec.rb +43 -0
  674. data/spec/models/user_spec.rb +79 -0
  675. data/spec/models/versions_spec.rb +37 -0
  676. data/spec/models/with_both_jira_and_jiragroups_spec.rb +37 -0
  677. data/spec/models/work_type_get_request_spec.rb +37 -0
  678. data/spec/models/work_type_put_request_spec.rb +37 -0
  679. data/spec/models/work_type_rule_spec.rb +37 -0
  680. data/spec/models/work_type_spec.rb +43 -0
  681. data/spec/spec_helper.rb +108 -0
  682. metadata +1000 -0
@@ -0,0 +1,380 @@
1
+ =begin
2
+ This is an automatically generated file. DO NOT EDIT.
3
+
4
+ Generated from version 2.1.81 of the OpenAPI specification at
5
+ https://github.com/athenianco/api-spec/releases/tag/2.1.81.
6
+ Generated by: https://openapi-generator.tech
7
+ OpenAPI Generator version: 6.4.0
8
+ =end
9
+
10
+ require 'date'
11
+ require 'time'
12
+
13
+ module Athenian
14
+ # Request of `/histograms/pull_requests`.
15
+ class PullRequestHistogramsRequest
16
+ # Sets of developers and repositories for which to calculate the histograms. The aggregation is `AND` between repositories and developers. The aggregation is `OR` inside both repositories and developers.
17
+ attr_accessor :_for
18
+
19
+ # Histogram parameters for each wanted topic.
20
+ attr_accessor :histograms
21
+
22
+ # Date from when to start measuring the distribution.
23
+ attr_accessor :date_from
24
+
25
+ # Date until which to measure the distribution.
26
+ attr_accessor :date_to
27
+
28
+ # Local time zone offset in minutes, used to adjust `date_from` and `date_to`.
29
+ attr_accessor :timezone
30
+
31
+ # Value indicating whether PRs without events in the given time frame shall be ignored.
32
+ attr_accessor :exclude_inactive
33
+
34
+ # Cut the distributions at certain quantiles. The default values are [0, 1] which means no cutting.
35
+ attr_accessor :quantiles
36
+
37
+ # Session account ID.
38
+ attr_accessor :account
39
+
40
+ # Force histograms calculation on the most up to date data.
41
+ attr_accessor :fresh
42
+
43
+ # Attribute mapping from ruby-style variable name to JSON key.
44
+ def self.attribute_map
45
+ {
46
+ :'_for' => :'for',
47
+ :'histograms' => :'histograms',
48
+ :'date_from' => :'date_from',
49
+ :'date_to' => :'date_to',
50
+ :'timezone' => :'timezone',
51
+ :'exclude_inactive' => :'exclude_inactive',
52
+ :'quantiles' => :'quantiles',
53
+ :'account' => :'account',
54
+ :'fresh' => :'fresh'
55
+ }
56
+ end
57
+
58
+ # Returns all the JSON keys this model knows about
59
+ def self.acceptable_attributes
60
+ attribute_map.values
61
+ end
62
+
63
+ # Attribute type mapping.
64
+ def self.openapi_types
65
+ {
66
+ :'_for' => :'Array<ForSetPullRequests>',
67
+ :'histograms' => :'Array<PullRequestHistogramDefinition>',
68
+ :'date_from' => :'Date',
69
+ :'date_to' => :'Date',
70
+ :'timezone' => :'Integer',
71
+ :'exclude_inactive' => :'Boolean',
72
+ :'quantiles' => :'Array<Float>',
73
+ :'account' => :'Integer',
74
+ :'fresh' => :'Boolean'
75
+ }
76
+ end
77
+
78
+ # List of attributes with nullable: true
79
+ def self.openapi_nullable
80
+ Set.new([
81
+ ])
82
+ end
83
+
84
+ # Initializes the object
85
+ # @param [Hash] attributes Model attributes in the form of hash
86
+ def initialize(attributes = {})
87
+ if (!attributes.is_a?(Hash))
88
+ fail ArgumentError, 'The input argument (attributes) must be a hash in `Athenian::PullRequestHistogramsRequest` initialize method'
89
+ end
90
+
91
+ # check to see if the attribute exists and convert string to symbol for hash key
92
+ attributes = attributes.each_with_object({}) { |(k, v), h|
93
+ if (!self.class.attribute_map.key?(k.to_sym))
94
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Athenian::PullRequestHistogramsRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
95
+ end
96
+ h[k.to_sym] = v
97
+ }
98
+
99
+ if attributes.key?(:'_for')
100
+ if (value = attributes[:'_for']).is_a?(Array)
101
+ self._for = value
102
+ end
103
+ end
104
+
105
+ if attributes.key?(:'histograms')
106
+ if (value = attributes[:'histograms']).is_a?(Array)
107
+ self.histograms = value
108
+ end
109
+ end
110
+
111
+ if attributes.key?(:'date_from')
112
+ self.date_from = attributes[:'date_from']
113
+ end
114
+
115
+ if attributes.key?(:'date_to')
116
+ self.date_to = attributes[:'date_to']
117
+ end
118
+
119
+ if attributes.key?(:'timezone')
120
+ self.timezone = attributes[:'timezone']
121
+ end
122
+
123
+ if attributes.key?(:'exclude_inactive')
124
+ self.exclude_inactive = attributes[:'exclude_inactive']
125
+ end
126
+
127
+ if attributes.key?(:'quantiles')
128
+ if (value = attributes[:'quantiles']).is_a?(Array)
129
+ self.quantiles = value
130
+ end
131
+ end
132
+
133
+ if attributes.key?(:'account')
134
+ self.account = attributes[:'account']
135
+ end
136
+
137
+ if attributes.key?(:'fresh')
138
+ self.fresh = attributes[:'fresh']
139
+ end
140
+ end
141
+
142
+ # Show invalid properties with the reasons. Usually used together with valid?
143
+ # @return Array for valid properties with the reasons
144
+ def list_invalid_properties
145
+ invalid_properties = Array.new
146
+ if @_for.nil?
147
+ invalid_properties.push('invalid value for "_for", _for cannot be nil.')
148
+ end
149
+
150
+ if @histograms.nil?
151
+ invalid_properties.push('invalid value for "histograms", histograms cannot be nil.')
152
+ end
153
+
154
+ if @date_from.nil?
155
+ invalid_properties.push('invalid value for "date_from", date_from cannot be nil.')
156
+ end
157
+
158
+ if @date_to.nil?
159
+ invalid_properties.push('invalid value for "date_to", date_to cannot be nil.')
160
+ end
161
+
162
+ if !@timezone.nil? && @timezone > 780
163
+ invalid_properties.push('invalid value for "timezone", must be smaller than or equal to 780.')
164
+ end
165
+
166
+ if !@timezone.nil? && @timezone < -720
167
+ invalid_properties.push('invalid value for "timezone", must be greater than or equal to -720.')
168
+ end
169
+
170
+ if @exclude_inactive.nil?
171
+ invalid_properties.push('invalid value for "exclude_inactive", exclude_inactive cannot be nil.')
172
+ end
173
+
174
+ if !@quantiles.nil? && @quantiles.length > 2
175
+ invalid_properties.push('invalid value for "quantiles", number of items must be less than or equal to 2.')
176
+ end
177
+
178
+ if !@quantiles.nil? && @quantiles.length < 2
179
+ invalid_properties.push('invalid value for "quantiles", number of items must be greater than or equal to 2.')
180
+ end
181
+
182
+ if @account.nil?
183
+ invalid_properties.push('invalid value for "account", account cannot be nil.')
184
+ end
185
+
186
+ invalid_properties
187
+ end
188
+
189
+ # Check to see if the all the properties in the model are valid
190
+ # @return true if the model is valid
191
+ def valid?
192
+ return false if @_for.nil?
193
+ return false if @histograms.nil?
194
+ return false if @date_from.nil?
195
+ return false if @date_to.nil?
196
+ return false if !@timezone.nil? && @timezone > 780
197
+ return false if !@timezone.nil? && @timezone < -720
198
+ return false if @exclude_inactive.nil?
199
+ return false if !@quantiles.nil? && @quantiles.length > 2
200
+ return false if !@quantiles.nil? && @quantiles.length < 2
201
+ return false if @account.nil?
202
+ true
203
+ end
204
+
205
+ # Custom attribute writer method with validation
206
+ # @param [Object] timezone Value to be assigned
207
+ def timezone=(timezone)
208
+ if !timezone.nil? && timezone > 780
209
+ fail ArgumentError, 'invalid value for "timezone", must be smaller than or equal to 780.'
210
+ end
211
+
212
+ if !timezone.nil? && timezone < -720
213
+ fail ArgumentError, 'invalid value for "timezone", must be greater than or equal to -720.'
214
+ end
215
+
216
+ @timezone = timezone
217
+ end
218
+
219
+ # Custom attribute writer method with validation
220
+ # @param [Object] quantiles Value to be assigned
221
+ def quantiles=(quantiles)
222
+ if !quantiles.nil? && quantiles.length > 2
223
+ fail ArgumentError, 'invalid value for "quantiles", number of items must be less than or equal to 2.'
224
+ end
225
+
226
+ if !quantiles.nil? && quantiles.length < 2
227
+ fail ArgumentError, 'invalid value for "quantiles", number of items must be greater than or equal to 2.'
228
+ end
229
+
230
+ @quantiles = quantiles
231
+ end
232
+
233
+ # Checks equality by comparing each attribute.
234
+ # @param [Object] Object to be compared
235
+ def ==(o)
236
+ return true if self.equal?(o)
237
+ self.class == o.class &&
238
+ _for == o._for &&
239
+ histograms == o.histograms &&
240
+ date_from == o.date_from &&
241
+ date_to == o.date_to &&
242
+ timezone == o.timezone &&
243
+ exclude_inactive == o.exclude_inactive &&
244
+ quantiles == o.quantiles &&
245
+ account == o.account &&
246
+ fresh == o.fresh
247
+ end
248
+
249
+ # @see the `==` method
250
+ # @param [Object] Object to be compared
251
+ def eql?(o)
252
+ self == o
253
+ end
254
+
255
+ # Calculates hash code according to all attributes.
256
+ # @return [Integer] Hash code
257
+ def hash
258
+ [_for, histograms, date_from, date_to, timezone, exclude_inactive, quantiles, account, fresh].hash
259
+ end
260
+
261
+ # Builds the object from hash
262
+ # @param [Hash] attributes Model attributes in the form of hash
263
+ # @return [Object] Returns the model itself
264
+ def self.build_from_hash(attributes)
265
+ new.build_from_hash(attributes)
266
+ end
267
+
268
+ # Builds the object from hash
269
+ # @param [Hash] attributes Model attributes in the form of hash
270
+ # @return [Object] Returns the model itself
271
+ def build_from_hash(attributes)
272
+ return nil unless attributes.is_a?(Hash)
273
+ attributes = attributes.transform_keys(&:to_sym)
274
+ self.class.openapi_types.each_pair do |key, type|
275
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
276
+ self.send("#{key}=", nil)
277
+ elsif type =~ /\AArray<(.*)>/i
278
+ # check to ensure the input is an array given that the attribute
279
+ # is documented as an array but the input is not
280
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
281
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
282
+ end
283
+ elsif !attributes[self.class.attribute_map[key]].nil?
284
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
285
+ end
286
+ end
287
+
288
+ self
289
+ end
290
+
291
+ # Deserializes the data based on type
292
+ # @param string type Data type
293
+ # @param string value Value to be deserialized
294
+ # @return [Object] Deserialized data
295
+ def _deserialize(type, value)
296
+ case type.to_sym
297
+ when :Time
298
+ Time.parse(value)
299
+ when :Date
300
+ Date.parse(value)
301
+ when :String
302
+ value.to_s
303
+ when :Integer
304
+ value.to_i
305
+ when :Float
306
+ value.to_f
307
+ when :Boolean
308
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
309
+ true
310
+ else
311
+ false
312
+ end
313
+ when :Object
314
+ # generic object (usually a Hash), return directly
315
+ value
316
+ when /\AArray<(?<inner_type>.+)>\z/
317
+ inner_type = Regexp.last_match[:inner_type]
318
+ value.map { |v| _deserialize(inner_type, v) }
319
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
320
+ k_type = Regexp.last_match[:k_type]
321
+ v_type = Regexp.last_match[:v_type]
322
+ {}.tap do |hash|
323
+ value.each do |k, v|
324
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
325
+ end
326
+ end
327
+ else # model
328
+ # models (e.g. Pet) or oneOf
329
+ klass = Athenian.const_get(type)
330
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
331
+ end
332
+ end
333
+
334
+ # Returns the string representation of the object
335
+ # @return [String] String presentation of the object
336
+ def to_s
337
+ to_hash.to_s
338
+ end
339
+
340
+ # to_body is an alias to to_hash (backward compatibility)
341
+ # @return [Hash] Returns the object in the form of hash
342
+ def to_body
343
+ to_hash
344
+ end
345
+
346
+ # Returns the object in the form of hash
347
+ # @return [Hash] Returns the object in the form of hash
348
+ def to_hash
349
+ hash = {}
350
+ self.class.attribute_map.each_pair do |attr, param|
351
+ value = self.send(attr)
352
+ if value.nil?
353
+ is_nullable = self.class.openapi_nullable.include?(attr)
354
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
355
+ end
356
+
357
+ hash[param] = _to_hash(value)
358
+ end
359
+ hash
360
+ end
361
+
362
+ # Outputs non-array value in the form of hash
363
+ # For object, use to_hash. Otherwise, just return the value
364
+ # @param [Object] value Any valid value
365
+ # @return [Hash] Returns the value in the form of hash
366
+ def _to_hash(value)
367
+ if value.is_a?(Array)
368
+ value.compact.map { |v| _to_hash(v) }
369
+ elsif value.is_a?(Hash)
370
+ {}.tap do |hash|
371
+ value.each { |k, v| hash[k] = _to_hash(v) }
372
+ end
373
+ elsif value.respond_to? :to_hash
374
+ value.to_hash
375
+ else
376
+ value
377
+ end
378
+ end
379
+ end
380
+ end
@@ -0,0 +1,265 @@
1
+ =begin
2
+ This is an automatically generated file. DO NOT EDIT.
3
+
4
+ Generated from version 2.1.81 of the OpenAPI specification at
5
+ https://github.com/athenianco/api-spec/releases/tag/2.1.81.
6
+ Generated by: https://openapi-generator.tech
7
+ OpenAPI Generator version: 6.4.0
8
+ =end
9
+
10
+ require 'date'
11
+ require 'time'
12
+
13
+ module Athenian
14
+ # Pull request label.
15
+ class PullRequestLabel
16
+ attr_accessor :name
17
+
18
+ attr_accessor :description
19
+
20
+ # RGB 24-bit color in hex.
21
+ attr_accessor :color
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'name' => :'name',
27
+ :'description' => :'description',
28
+ :'color' => :'color'
29
+ }
30
+ end
31
+
32
+ # Returns all the JSON keys this model knows about
33
+ def self.acceptable_attributes
34
+ attribute_map.values
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ def self.openapi_types
39
+ {
40
+ :'name' => :'String',
41
+ :'description' => :'String',
42
+ :'color' => :'String'
43
+ }
44
+ end
45
+
46
+ # List of attributes with nullable: true
47
+ def self.openapi_nullable
48
+ Set.new([
49
+ ])
50
+ end
51
+
52
+ # Initializes the object
53
+ # @param [Hash] attributes Model attributes in the form of hash
54
+ def initialize(attributes = {})
55
+ if (!attributes.is_a?(Hash))
56
+ fail ArgumentError, 'The input argument (attributes) must be a hash in `Athenian::PullRequestLabel` initialize method'
57
+ end
58
+
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!self.class.attribute_map.key?(k.to_sym))
62
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Athenian::PullRequestLabel`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
63
+ end
64
+ h[k.to_sym] = v
65
+ }
66
+
67
+ if attributes.key?(:'name')
68
+ self.name = attributes[:'name']
69
+ end
70
+
71
+ if attributes.key?(:'description')
72
+ self.description = attributes[:'description']
73
+ end
74
+
75
+ if attributes.key?(:'color')
76
+ self.color = attributes[:'color']
77
+ end
78
+ end
79
+
80
+ # Show invalid properties with the reasons. Usually used together with valid?
81
+ # @return Array for valid properties with the reasons
82
+ def list_invalid_properties
83
+ invalid_properties = Array.new
84
+ if @name.nil?
85
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
86
+ end
87
+
88
+ if @color.nil?
89
+ invalid_properties.push('invalid value for "color", color cannot be nil.')
90
+ end
91
+
92
+ pattern = Regexp.new(/^[0-9a-fA-F]{6}$/)
93
+ if @color !~ pattern
94
+ invalid_properties.push("invalid value for \"color\", must conform to the pattern #{pattern}.")
95
+ end
96
+
97
+ invalid_properties
98
+ end
99
+
100
+ # Check to see if the all the properties in the model are valid
101
+ # @return true if the model is valid
102
+ def valid?
103
+ return false if @name.nil?
104
+ return false if @color.nil?
105
+ return false if @color !~ Regexp.new(/^[0-9a-fA-F]{6}$/)
106
+ true
107
+ end
108
+
109
+ # Custom attribute writer method with validation
110
+ # @param [Object] color Value to be assigned
111
+ def color=(color)
112
+ if color.nil?
113
+ fail ArgumentError, 'color cannot be nil'
114
+ end
115
+
116
+ pattern = Regexp.new(/^[0-9a-fA-F]{6}$/)
117
+ if color !~ pattern
118
+ fail ArgumentError, "invalid value for \"color\", must conform to the pattern #{pattern}."
119
+ end
120
+
121
+ @color = color
122
+ end
123
+
124
+ # Checks equality by comparing each attribute.
125
+ # @param [Object] Object to be compared
126
+ def ==(o)
127
+ return true if self.equal?(o)
128
+ self.class == o.class &&
129
+ name == o.name &&
130
+ description == o.description &&
131
+ color == o.color
132
+ end
133
+
134
+ # @see the `==` method
135
+ # @param [Object] Object to be compared
136
+ def eql?(o)
137
+ self == o
138
+ end
139
+
140
+ # Calculates hash code according to all attributes.
141
+ # @return [Integer] Hash code
142
+ def hash
143
+ [name, description, color].hash
144
+ end
145
+
146
+ # Builds the object from hash
147
+ # @param [Hash] attributes Model attributes in the form of hash
148
+ # @return [Object] Returns the model itself
149
+ def self.build_from_hash(attributes)
150
+ new.build_from_hash(attributes)
151
+ end
152
+
153
+ # Builds the object from hash
154
+ # @param [Hash] attributes Model attributes in the form of hash
155
+ # @return [Object] Returns the model itself
156
+ def build_from_hash(attributes)
157
+ return nil unless attributes.is_a?(Hash)
158
+ attributes = attributes.transform_keys(&:to_sym)
159
+ self.class.openapi_types.each_pair do |key, type|
160
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
161
+ self.send("#{key}=", nil)
162
+ elsif type =~ /\AArray<(.*)>/i
163
+ # check to ensure the input is an array given that the attribute
164
+ # is documented as an array but the input is not
165
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
166
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
167
+ end
168
+ elsif !attributes[self.class.attribute_map[key]].nil?
169
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
170
+ end
171
+ end
172
+
173
+ self
174
+ end
175
+
176
+ # Deserializes the data based on type
177
+ # @param string type Data type
178
+ # @param string value Value to be deserialized
179
+ # @return [Object] Deserialized data
180
+ def _deserialize(type, value)
181
+ case type.to_sym
182
+ when :Time
183
+ Time.parse(value)
184
+ when :Date
185
+ Date.parse(value)
186
+ when :String
187
+ value.to_s
188
+ when :Integer
189
+ value.to_i
190
+ when :Float
191
+ value.to_f
192
+ when :Boolean
193
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
194
+ true
195
+ else
196
+ false
197
+ end
198
+ when :Object
199
+ # generic object (usually a Hash), return directly
200
+ value
201
+ when /\AArray<(?<inner_type>.+)>\z/
202
+ inner_type = Regexp.last_match[:inner_type]
203
+ value.map { |v| _deserialize(inner_type, v) }
204
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
205
+ k_type = Regexp.last_match[:k_type]
206
+ v_type = Regexp.last_match[:v_type]
207
+ {}.tap do |hash|
208
+ value.each do |k, v|
209
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
210
+ end
211
+ end
212
+ else # model
213
+ # models (e.g. Pet) or oneOf
214
+ klass = Athenian.const_get(type)
215
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
216
+ end
217
+ end
218
+
219
+ # Returns the string representation of the object
220
+ # @return [String] String presentation of the object
221
+ def to_s
222
+ to_hash.to_s
223
+ end
224
+
225
+ # to_body is an alias to to_hash (backward compatibility)
226
+ # @return [Hash] Returns the object in the form of hash
227
+ def to_body
228
+ to_hash
229
+ end
230
+
231
+ # Returns the object in the form of hash
232
+ # @return [Hash] Returns the object in the form of hash
233
+ def to_hash
234
+ hash = {}
235
+ self.class.attribute_map.each_pair do |attr, param|
236
+ value = self.send(attr)
237
+ if value.nil?
238
+ is_nullable = self.class.openapi_nullable.include?(attr)
239
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
240
+ end
241
+
242
+ hash[param] = _to_hash(value)
243
+ end
244
+ hash
245
+ end
246
+
247
+ # Outputs non-array value in the form of hash
248
+ # For object, use to_hash. Otherwise, just return the value
249
+ # @param [Object] value Any valid value
250
+ # @return [Hash] Returns the value in the form of hash
251
+ def _to_hash(value)
252
+ if value.is_a?(Array)
253
+ value.compact.map { |v| _to_hash(v) }
254
+ elsif value.is_a?(Hash)
255
+ {}.tap do |hash|
256
+ value.each { |k, v| hash[k] = _to_hash(v) }
257
+ end
258
+ elsif value.respond_to? :to_hash
259
+ value.to_hash
260
+ else
261
+ value
262
+ end
263
+ end
264
+ end
265
+ end