pharmaobservatory 0.1.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 (348) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +314 -0
  3. data/docs/ApiV1BaseApi.md +72 -0
  4. data/docs/ApiV1BiomarkerAssayScreenApi.md +87 -0
  5. data/docs/ApiV1BiomarkerAssayScreenGet200Response.md +26 -0
  6. data/docs/ApiV1BiomarkerAssayScreenGet200ResponseBuildState.md +22 -0
  7. data/docs/ApiV1BiomarkerAssayScreenGet200ResponseEvidenceInner.md +48 -0
  8. data/docs/ApiV1BiomarkerAssayScreenGet200ResponseEvidenceInnerSourceRef.md +28 -0
  9. data/docs/ApiV1BiomarkerAssayScreenGet200ResponseFilters.md +28 -0
  10. data/docs/ApiV1BiomarkerAssayWhitespaceApi.md +87 -0
  11. data/docs/ApiV1BiomarkerAssayWhitespaceGet200Response.md +76 -0
  12. data/docs/ApiV1BiomarkerAssayWhitespaceGet200ResponseBucketCounts.md +34 -0
  13. data/docs/ApiV1BiomarkerAssayWhitespaceGet200ResponseFilters.md +26 -0
  14. data/docs/ApiV1BiomarkerAssayWhitespaceGet200ResponseGenesInner.md +38 -0
  15. data/docs/ApiV1BiomarkerAssayWhitespaceGet200ResponseLiteratureEvidenceInner.md +24 -0
  16. data/docs/ApiV1BiomarkerAssayWhitespaceGet200ResponseProfileLink.md +20 -0
  17. data/docs/ApiV1BiomarkerAssayWhitespaceGet200ResponseSupplierDeclarationsInner.md +22 -0
  18. data/docs/ApiV1BiomarkerAssayWhitespaceGet200ResponseValidatedEvidenceInner.md +34 -0
  19. data/docs/ApiV1CandidateSiteApi.md +83 -0
  20. data/docs/ApiV1CandidateSitesGet200Response.md +32 -0
  21. data/docs/ApiV1CandidateSitesGet200ResponseFilters.md +22 -0
  22. data/docs/ApiV1CandidateSitesGet200ResponseSitesInner.md +46 -0
  23. data/docs/ApiV1ConditionApi.md +211 -0
  24. data/docs/ApiV1ConditionsConditionIdBurdenVsEvidenceGet200Response.md +36 -0
  25. data/docs/ApiV1ConditionsConditionIdBurdenVsEvidenceGet200ResponseRestriction.md +22 -0
  26. data/docs/ApiV1ConditionsConditionIdEvidenceFreshnessGet200Response.md +26 -0
  27. data/docs/ApiV1ConditionsConditionIdEvidenceFreshnessGet200ResponseBuildState.md +18 -0
  28. data/docs/ApiV1ConditionsConditionIdEvidenceFreshnessGet200ResponseSections.md +20 -0
  29. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200Response.md +40 -0
  30. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseActiveYearSpan.md +20 -0
  31. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponsePhaseBreakdownInner.md +20 -0
  32. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollup.md +74 -0
  33. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollupFiguresInner.md +22 -0
  34. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollupPhasesInner.md +48 -0
  35. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollupPredicted.md +24 -0
  36. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollupRealized.md +22 -0
  37. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollupStatuses.md +32 -0
  38. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseSections.md +28 -0
  39. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseSponsorsInner.md +22 -0
  40. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseTrialStartForecast.md +32 -0
  41. data/docs/ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseTrialsByYearInner.md +20 -0
  42. data/docs/ApiV1EnrollmentBenchmarkApi.md +79 -0
  43. data/docs/ApiV1EnrollmentBenchmarkGet200Response.md +28 -0
  44. data/docs/ApiV1EnrollmentBenchmarkGet200ResponseBenchmark.md +42 -0
  45. data/docs/ApiV1EnrollmentBenchmarkGet200ResponseBenchmarkAccrualRatePerSiteMonth.md +26 -0
  46. data/docs/ApiV1EnrollmentBenchmarkGet200ResponseBenchmarkConfidence.md +24 -0
  47. data/docs/ApiV1EnrollmentBenchmarkGet200ResponseBenchmarkEnrollment.md +22 -0
  48. data/docs/ApiV1EnrollmentBenchmarkGet200ResponseBenchmarkTypicalDurationMonths.md +28 -0
  49. data/docs/ApiV1EnrollmentBenchmarkGet200ResponseFilters.md +20 -0
  50. data/docs/ApiV1InvestorProfileGet200Response.md +38 -0
  51. data/docs/ApiV1InvestorProfileGet200ResponseFunds.md +20 -0
  52. data/docs/ApiV1InvestorProfileGet200ResponseFundsRollupInner.md +22 -0
  53. data/docs/ApiV1InvestorProfileGet200ResponseOwnership.md +22 -0
  54. data/docs/ApiV1InvestorProfileGet200ResponseOwnershipHoldings.md +22 -0
  55. data/docs/ApiV1InvestorProfileGet200ResponseOwnershipOwners.md +22 -0
  56. data/docs/ApiV1InvestorProfileGet200ResponseOwnershipOwnersRowsInner.md +52 -0
  57. data/docs/ApiV1InvestorProfileGet200ResponseProfile.md +44 -0
  58. data/docs/ApiV1InvestorProfileGet200ResponseResolution.md +24 -0
  59. data/docs/ApiV1InvestorProfileGet200ResponseSections.md +24 -0
  60. data/docs/ApiV1InvestorProfileGet200ResponseSemantics.md +20 -0
  61. data/docs/ApiV1InvestorProfileGet200ResponseSemanticsOwnershipDimension.md +20 -0
  62. data/docs/ApiV1InvestorProfileGet200ResponseSemanticsSourceClass.md +18 -0
  63. data/docs/ApiV1InvestorProfileGet200ResponseSemanticsSourceClassSecFormAdv.md +20 -0
  64. data/docs/ApiV1LicensingCandidatesGet200Response.md +26 -0
  65. data/docs/ApiV1LicensingCandidatesGet200ResponseCandidatesInner.md +42 -0
  66. data/docs/ApiV1OrgFinancingAndOwnershipGet200Response.md +48 -0
  67. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseFinancing.md +24 -0
  68. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseFinancingRoundsInner.md +40 -0
  69. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseFinancingSummary.md +38 -0
  70. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseInvestors.md +26 -0
  71. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPercentages.md +30 -0
  72. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPercentagesInsider.md +40 -0
  73. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPercentagesInstitutional.md +42 -0
  74. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPercentagesNotes.md +30 -0
  75. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPercentagesSharesOutstanding.md +28 -0
  76. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPositions.md +24 -0
  77. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPositionsInstitutional13f.md +22 -0
  78. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseOwnershipPositionsPositionsInner.md +50 -0
  79. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseSections.md +36 -0
  80. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseSemantics.md +20 -0
  81. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseSemanticsOwnershipDimension.md +22 -0
  82. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseSemanticsSourceClass.md +22 -0
  83. data/docs/ApiV1OrgFinancingAndOwnershipGet200ResponseUnmatchedProductRevenue.md +24 -0
  84. data/docs/ApiV1OrgFinancingAndOwnershipOwnershipPositionsInstitutional13fHoldersInner.md +34 -0
  85. data/docs/ApiV1OrgPipelineStagesGet200Response.md +48 -0
  86. data/docs/ApiV1OrgPipelineStagesGet200ResponseApprovedMarketedInner.md +30 -0
  87. data/docs/ApiV1OrgPipelineStagesGet200ResponseInDevelopmentInner.md +34 -0
  88. data/docs/ApiV1OrgPipelineStagesGet200ResponseRecruitmentRollup.md +74 -0
  89. data/docs/ApiV1OrgPipelineStagesGet200ResponseRecruitmentRollupPhasesInner.md +48 -0
  90. data/docs/ApiV1OrgPipelineStagesGet200ResponseRecruitmentRollupPredicted.md +24 -0
  91. data/docs/ApiV1OrgPipelineStagesGet200ResponseSections.md +30 -0
  92. data/docs/ApiV1OrgPipelineStagesGet200ResponseTrialStartForecast.md +32 -0
  93. data/docs/ApiV1OrgPipelineStagesGet200ResponseTrialStartForecastYearsInner.md +50 -0
  94. data/docs/ApiV1OwnershipApi.md +155 -0
  95. data/docs/ApiV1PatentCliffExposureGet200Response.md +28 -0
  96. data/docs/ApiV1PatentCliffExposureGet200ResponseExposuresInner.md +46 -0
  97. data/docs/ApiV1ProgramCatalystApi.md +291 -0
  98. data/docs/ApiV1ProgramCatalystsGet200Response.md +32 -0
  99. data/docs/ApiV1ProgramCatalystsGet200ResponseCalendarInner.md +46 -0
  100. data/docs/ApiV1ProgramCatalystsGet200ResponsePdufa.md +26 -0
  101. data/docs/ApiV1ProgramCatalystsGet200ResponseSections.md +22 -0
  102. data/docs/ApiV1ResolveEntityApi.md +83 -0
  103. data/docs/ApiV1ResolveEntityGet200Response.md +36 -0
  104. data/docs/ApiV1ResolveEntityGet200ResponseCandidatesInner.md +26 -0
  105. data/docs/ApiV1ResolveEntityGet200ResponseCandidatesInnerRestriction.md +22 -0
  106. data/docs/ApiV1ResolveEntityGet200ResponseResolutionConfidence.md +20 -0
  107. data/docs/ApiV1RwdApi.md +153 -0
  108. data/docs/ApiV1RwdConductorTrackRecordGet200Response.md +42 -0
  109. data/docs/ApiV1RwdConductorTrackRecordGet200ResponseConductor.md +28 -0
  110. data/docs/ApiV1RwdConductorTrackRecordGet200ResponseDeliveryByMandate.md +22 -0
  111. data/docs/ApiV1RwdConductorTrackRecordGet200ResponseDeliveryByMandateAll.md +52 -0
  112. data/docs/ApiV1RwdConductorTrackRecordGet200ResponseDeliveryByMandateMandated.md +52 -0
  113. data/docs/ApiV1RwdConductorTrackRecordGet200ResponseDeliveryByMandateVoluntary.md +52 -0
  114. data/docs/ApiV1RwdConductorTrackRecordGet200ResponseFootprint.md +20 -0
  115. data/docs/ApiV1RwdConductorTrackRecordGet200ResponseFootprintDeliveredCountriesInner.md +20 -0
  116. data/docs/ApiV1RwdStudyScreenGet200Response.md +34 -0
  117. data/docs/ApiV1RwdStudyScreenGet200ResponseDeliveryDistribution.md +34 -0
  118. data/docs/ApiV1RwdStudyScreenGet200ResponseFilters.md +24 -0
  119. data/docs/ApiV1SiteRecordApi.md +83 -0
  120. data/docs/ApiV1SiteRecordGet200Response.md +36 -0
  121. data/docs/ApiV1SiteRecordGet200ResponseDetailSections.md +26 -0
  122. data/docs/ApiV1SiteRecordGet200ResponseDetailSectionsTrials.md +20 -0
  123. data/docs/ApiV1SiteRecordGet200ResponseSiteKeyRedirect.md +20 -0
  124. data/docs/ApiV1SiteRecordGet200ResponseSitesInner.md +46 -0
  125. data/docs/ApiV1SiteRecordGet200ResponseSitesInnerActiveYears.md +20 -0
  126. data/docs/ApiV1SiteRecordGet200ResponseSitesInnerDrugsInner.md +22 -0
  127. data/docs/ApiV1SiteRecordGet200ResponseSitesInnerEstimatedEnrollment.md +22 -0
  128. data/docs/ApiV1SiteRecordGet200ResponseSitesInnerIndicationsInner.md +22 -0
  129. data/docs/ApiV1SiteRecordGet200ResponseSitesInnerInvestigatorsInner.md +26 -0
  130. data/docs/ApiV1SiteRecordGet200ResponseSitesInnerTrialsInner.md +24 -0
  131. data/docs/ApiV1SponsorLandscapeRecruitmentRollupPredictedAtHorizonCap.md +22 -0
  132. data/docs/ApiV1SponsorLandscapeRecruitmentRollupStatusCountsInner.md +22 -0
  133. data/docs/ApiV1TrialApi.md +363 -0
  134. data/docs/ApiV1TrialsDiscontinuationReasonsGet200Response.md +34 -0
  135. data/docs/ApiV1TrialsDiscontinuationReasonsGet200ResponseFilters.md +20 -0
  136. data/docs/ApiV1TrialsDiscontinuationReasonsGet200ResponseTrialsInner.md +28 -0
  137. data/docs/ApiV1TrialsEligibilityGeneralizabilityScanGet200Response.md +32 -0
  138. data/docs/ApiV1TrialsEligibilityGeneralizabilityScanGet200ResponseFilters.md +18 -0
  139. data/docs/ApiV1TrialsEligibilityGeneralizabilityScanGet200ResponseTrialsInner.md +32 -0
  140. data/docs/ApiV1TrialsHistoryAndPredictionGet200Response.md +36 -0
  141. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInner.md +54 -0
  142. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInnerBaseline.md +24 -0
  143. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInnerFigure.md +28 -0
  144. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInnerInputsAsRegistered.md +38 -0
  145. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInnerMeasuredError.md +26 -0
  146. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInnerMeasuredErrorPhase.md +34 -0
  147. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInnerMeasuredErrorSize.md +34 -0
  148. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsInnerReason.md +28 -0
  149. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponsePredictionsStatus.md +28 -0
  150. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponseRecordHistory.md +36 -0
  151. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponseRecordHistoryChangesInner.md +24 -0
  152. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponseRecordHistoryObservationsInner.md +32 -0
  153. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponseRecordHistoryObservationsInnerEnrollment.md +28 -0
  154. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponseRecordHistoryObservationsInnerSites.md +32 -0
  155. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponseRecordHistoryObservationsInnerStartDate.md +28 -0
  156. data/docs/ApiV1TrialsHistoryAndPredictionGet200ResponseSections.md +26 -0
  157. data/docs/ApiV1TrialsHistoryPredictionsInnerRegisteredPrimaryCompletion.md +22 -0
  158. data/docs/ApiV1TrialsHistoryRecordHistoryObservationsInnerOverallStatus.md +24 -0
  159. data/docs/ApiV1TrialsRecordsGet200Response.md +28 -0
  160. data/docs/ApiV1TrialsRecordsGet200ResponseBuildState.md +22 -0
  161. data/docs/ApiV1TrialsRecordsGet200ResponseExtractionCoverage.md +32 -0
  162. data/docs/ApiV1TrialsRecordsGet200ResponseSections.md +20 -0
  163. data/docs/ApiV1TrialsRecordsGet200ResponseSectionsExtracted.md +22 -0
  164. data/docs/ApiV1TrialsRecordsGet200ResponseTrialsInner.md +114 -0
  165. data/docs/ApiV1TrialsRecordsGet200ResponseTrialsInnerExtracted.md +46 -0
  166. data/docs/ApiV1TrialsRecordsGet200ResponseTrialsInnerLinkedDrugsInner.md +28 -0
  167. data/docs/ApiV1TrialsRecordsGet200ResponseTrialsInnerLinkedDrugsInnerBrandsInner.md +20 -0
  168. data/docs/ApiV1TrialsReportingCompletenessGet200Response.md +32 -0
  169. data/docs/ApiV1TrialsReportingCompletenessGet200ResponseDemographicFieldPopulationRate.md +24 -0
  170. data/docs/ApiV1WhoamiGet200Response.md +22 -0
  171. data/docs/AuthError.md +18 -0
  172. data/docs/NotEntitledError.md +24 -0
  173. data/lib/pharmaobservatory/api/api_v1_base_api.rb +77 -0
  174. data/lib/pharmaobservatory/api/api_v1_biomarker_assay_screen_api.rb +95 -0
  175. data/lib/pharmaobservatory/api/api_v1_biomarker_assay_whitespace_api.rb +95 -0
  176. data/lib/pharmaobservatory/api/api_v1_candidate_site_api.rb +89 -0
  177. data/lib/pharmaobservatory/api/api_v1_condition_api.rb +205 -0
  178. data/lib/pharmaobservatory/api/api_v1_enrollment_benchmark_api.rb +83 -0
  179. data/lib/pharmaobservatory/api/api_v1_ownership_api.rb +150 -0
  180. data/lib/pharmaobservatory/api/api_v1_program_catalyst_api.rb +260 -0
  181. data/lib/pharmaobservatory/api/api_v1_resolve_entity_api.rb +89 -0
  182. data/lib/pharmaobservatory/api/api_v1_rwd_api.rb +147 -0
  183. data/lib/pharmaobservatory/api/api_v1_site_record_api.rb +89 -0
  184. data/lib/pharmaobservatory/api/api_v1_trial_api.rb +321 -0
  185. data/lib/pharmaobservatory/api_client.rb +437 -0
  186. data/lib/pharmaobservatory/api_error.rb +58 -0
  187. data/lib/pharmaobservatory/configuration.rb +393 -0
  188. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_screen_get200_response.rb +343 -0
  189. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_screen_get200_response_build_state.rb +275 -0
  190. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_screen_get200_response_evidence_inner.rb +507 -0
  191. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_screen_get200_response_evidence_inner_source_ref.rb +369 -0
  192. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_screen_get200_response_filters.rb +283 -0
  193. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response.rb +525 -0
  194. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response_bucket_counts.rb +445 -0
  195. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response_filters.rb +285 -0
  196. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response_genes_inner.rb +469 -0
  197. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response_literature_evidence_inner.rb +317 -0
  198. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response_profile_link.rb +263 -0
  199. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response_supplier_declarations_inner.rb +289 -0
  200. data/lib/pharmaobservatory/models/api_v1_biomarker_assay_whitespace_get200_response_validated_evidence_inner.rb +431 -0
  201. data/lib/pharmaobservatory/models/api_v1_candidate_sites_get200_response.rb +302 -0
  202. data/lib/pharmaobservatory/models/api_v1_candidate_sites_get200_response_filters.rb +289 -0
  203. data/lib/pharmaobservatory/models/api_v1_candidate_sites_get200_response_sites_inner.rb +573 -0
  204. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_burden_vs_evidence_get200_response.rb +471 -0
  205. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_burden_vs_evidence_get200_response_restriction.rb +289 -0
  206. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_evidence_freshness_get200_response.rb +327 -0
  207. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_evidence_freshness_get200_response_build_state.rb +237 -0
  208. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_evidence_freshness_get200_response_sections.rb +263 -0
  209. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response.rb +398 -0
  210. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_active_year_span.rb +235 -0
  211. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_phase_breakdown_inner.rb +263 -0
  212. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_recruitment_rollup.rb +954 -0
  213. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_recruitment_rollup_figures_inner.rb +289 -0
  214. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_recruitment_rollup_phases_inner.rb +512 -0
  215. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_recruitment_rollup_predicted.rb +259 -0
  216. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_recruitment_rollup_realized.rb +289 -0
  217. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_recruitment_rollup_statuses.rb +419 -0
  218. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_sections.rb +299 -0
  219. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_sponsors_inner.rb +289 -0
  220. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_trial_start_forecast.rb +421 -0
  221. data/lib/pharmaobservatory/models/api_v1_conditions_condition_id_sponsor_landscape_get200_response_trials_by_year_inner.rb +263 -0
  222. data/lib/pharmaobservatory/models/api_v1_enrollment_benchmark_get200_response.rb +282 -0
  223. data/lib/pharmaobservatory/models/api_v1_enrollment_benchmark_get200_response_benchmark.rb +549 -0
  224. data/lib/pharmaobservatory/models/api_v1_enrollment_benchmark_get200_response_benchmark_accrual_rate_per_site_month.rb +341 -0
  225. data/lib/pharmaobservatory/models/api_v1_enrollment_benchmark_get200_response_benchmark_confidence.rb +301 -0
  226. data/lib/pharmaobservatory/models/api_v1_enrollment_benchmark_get200_response_benchmark_enrollment.rb +289 -0
  227. data/lib/pharmaobservatory/models/api_v1_enrollment_benchmark_get200_response_benchmark_typical_duration_months.rb +367 -0
  228. data/lib/pharmaobservatory/models/api_v1_enrollment_benchmark_get200_response_filters.rb +263 -0
  229. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response.rb +401 -0
  230. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_funds.rb +265 -0
  231. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_funds_rollup_inner.rb +289 -0
  232. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_ownership.rb +289 -0
  233. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_ownership_holdings.rb +291 -0
  234. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_ownership_owners.rb +291 -0
  235. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_ownership_owners_rows_inner.rb +595 -0
  236. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_profile.rb +561 -0
  237. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_resolution.rb +303 -0
  238. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_sections.rb +315 -0
  239. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_semantics.rb +263 -0
  240. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_semantics_ownership_dimension.rb +229 -0
  241. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_semantics_source_class.rb +220 -0
  242. data/lib/pharmaobservatory/models/api_v1_investor_profile_get200_response_semantics_source_class_sec_form_adv.rb +263 -0
  243. data/lib/pharmaobservatory/models/api_v1_licensing_candidates_get200_response.rb +343 -0
  244. data/lib/pharmaobservatory/models/api_v1_licensing_candidates_get200_response_candidates_inner.rb +549 -0
  245. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response.rb +481 -0
  246. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_financing.rb +303 -0
  247. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_financing_rounds_inner.rb +509 -0
  248. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_financing_summary.rb +497 -0
  249. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_investors.rb +343 -0
  250. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_percentages.rb +365 -0
  251. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_percentages_insider.rb +453 -0
  252. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_percentages_institutional.rb +437 -0
  253. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_percentages_notes.rb +393 -0
  254. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_percentages_shares_outstanding.rb +339 -0
  255. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_positions.rb +317 -0
  256. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_positions_institutional13f.rb +291 -0
  257. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_ownership_positions_positions_inner.rb +597 -0
  258. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_sections.rb +403 -0
  259. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_semantics.rb +263 -0
  260. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_semantics_ownership_dimension.rb +238 -0
  261. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_semantics_source_class.rb +238 -0
  262. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_get200_response_unmatched_product_revenue.rb +301 -0
  263. data/lib/pharmaobservatory/models/api_v1_org_financing_and_ownership_ownership_positions_institutional13f_holders_inner.rb +417 -0
  264. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response.rb +449 -0
  265. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_approved_marketed_inner.rb +393 -0
  266. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_in_development_inner.rb +445 -0
  267. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_recruitment_rollup.rb +940 -0
  268. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_recruitment_rollup_phases_inner.rb +512 -0
  269. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_recruitment_rollup_predicted.rb +315 -0
  270. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_sections.rb +325 -0
  271. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_trial_start_forecast.rb +421 -0
  272. data/lib/pharmaobservatory/models/api_v1_org_pipeline_stages_get200_response_trial_start_forecast_years_inner.rb +611 -0
  273. data/lib/pharmaobservatory/models/api_v1_patent_cliff_exposure_get200_response.rb +339 -0
  274. data/lib/pharmaobservatory/models/api_v1_patent_cliff_exposure_get200_response_exposures_inner.rb +531 -0
  275. data/lib/pharmaobservatory/models/api_v1_program_catalysts_get200_response.rb +377 -0
  276. data/lib/pharmaobservatory/models/api_v1_program_catalysts_get200_response_calendar_inner.rb +429 -0
  277. data/lib/pharmaobservatory/models/api_v1_program_catalysts_get200_response_pdufa.rb +324 -0
  278. data/lib/pharmaobservatory/models/api_v1_program_catalysts_get200_response_sections.rb +289 -0
  279. data/lib/pharmaobservatory/models/api_v1_resolve_entity_get200_response.rb +383 -0
  280. data/lib/pharmaobservatory/models/api_v1_resolve_entity_get200_response_candidates_inner.rb +283 -0
  281. data/lib/pharmaobservatory/models/api_v1_resolve_entity_get200_response_candidates_inner_restriction.rb +289 -0
  282. data/lib/pharmaobservatory/models/api_v1_resolve_entity_get200_response_resolution_confidence.rb +249 -0
  283. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response.rb +467 -0
  284. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response_conductor.rb +371 -0
  285. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response_delivery_by_mandate.rb +272 -0
  286. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response_delivery_by_mandate_all.rb +595 -0
  287. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response_delivery_by_mandate_mandated.rb +609 -0
  288. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response_delivery_by_mandate_voluntary.rb +665 -0
  289. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response_footprint.rb +267 -0
  290. data/lib/pharmaobservatory/models/api_v1_rwd_conductor_track_record_get200_response_footprint_delivered_countries_inner.rb +263 -0
  291. data/lib/pharmaobservatory/models/api_v1_rwd_study_screen_get200_response.rb +387 -0
  292. data/lib/pharmaobservatory/models/api_v1_rwd_study_screen_get200_response_delivery_distribution.rb +403 -0
  293. data/lib/pharmaobservatory/models/api_v1_rwd_study_screen_get200_response_filters.rb +259 -0
  294. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response.rb +320 -0
  295. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_detail_sections.rb +341 -0
  296. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_detail_sections_trials.rb +265 -0
  297. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_site_key_redirect.rb +263 -0
  298. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_sites_inner.rb +477 -0
  299. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_sites_inner_active_years.rb +235 -0
  300. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_sites_inner_drugs_inner.rb +289 -0
  301. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_sites_inner_estimated_enrollment.rb +289 -0
  302. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_sites_inner_indications_inner.rb +289 -0
  303. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_sites_inner_investigators_inner.rb +327 -0
  304. data/lib/pharmaobservatory/models/api_v1_site_record_get200_response_sites_inner_trials_inner.rb +301 -0
  305. data/lib/pharmaobservatory/models/api_v1_sponsor_landscape_recruitment_rollup_predicted_at_horizon_cap.rb +289 -0
  306. data/lib/pharmaobservatory/models/api_v1_sponsor_landscape_recruitment_rollup_status_counts_inner.rb +289 -0
  307. data/lib/pharmaobservatory/models/api_v1_trials_discontinuation_reasons_get200_response.rb +311 -0
  308. data/lib/pharmaobservatory/models/api_v1_trials_discontinuation_reasons_get200_response_filters.rb +265 -0
  309. data/lib/pharmaobservatory/models/api_v1_trials_discontinuation_reasons_get200_response_trials_inner.rb +353 -0
  310. data/lib/pharmaobservatory/models/api_v1_trials_eligibility_generalizability_scan_get200_response.rb +302 -0
  311. data/lib/pharmaobservatory/models/api_v1_trials_eligibility_generalizability_scan_get200_response_filters.rb +237 -0
  312. data/lib/pharmaobservatory/models/api_v1_trials_eligibility_generalizability_scan_get200_response_trials_inner.rb +351 -0
  313. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response.rb +340 -0
  314. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner.rb +579 -0
  315. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner_baseline.rb +315 -0
  316. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner_figure.rb +367 -0
  317. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner_inputs_as_registered.rb +343 -0
  318. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner_measured_error.rb +299 -0
  319. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner_measured_error_phase.rb +361 -0
  320. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner_measured_error_size.rb +375 -0
  321. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_inner_reason.rb +311 -0
  322. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_predictions_status.rb +311 -0
  323. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_record_history.rb +433 -0
  324. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_record_history_changes_inner.rb +315 -0
  325. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_record_history_observations_inner.rb +419 -0
  326. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_record_history_observations_inner_enrollment.rb +311 -0
  327. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_record_history_observations_inner_sites.rb +321 -0
  328. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_record_history_observations_inner_start_date.rb +311 -0
  329. data/lib/pharmaobservatory/models/api_v1_trials_history_and_prediction_get200_response_sections.rb +273 -0
  330. data/lib/pharmaobservatory/models/api_v1_trials_history_predictions_inner_registered_primary_completion.rb +261 -0
  331. data/lib/pharmaobservatory/models/api_v1_trials_history_record_history_observations_inner_overall_status.rb +287 -0
  332. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response.rb +339 -0
  333. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_build_state.rb +256 -0
  334. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_extraction_coverage.rb +300 -0
  335. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_sections.rb +263 -0
  336. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_sections_extracted.rb +275 -0
  337. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_trials_inner.rb +1189 -0
  338. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_trials_inner_extracted.rb +382 -0
  339. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_trials_inner_linked_drugs_inner.rb +343 -0
  340. data/lib/pharmaobservatory/models/api_v1_trials_records_get200_response_trials_inner_linked_drugs_inner_brands_inner.rb +263 -0
  341. data/lib/pharmaobservatory/models/api_v1_trials_reporting_completeness_get200_response.rb +300 -0
  342. data/lib/pharmaobservatory/models/api_v1_trials_reporting_completeness_get200_response_demographic_field_population_rate.rb +315 -0
  343. data/lib/pharmaobservatory/models/api_v1_whoami_get200_response.rb +291 -0
  344. data/lib/pharmaobservatory/models/auth_error.rb +237 -0
  345. data/lib/pharmaobservatory/models/not_entitled_error.rb +315 -0
  346. data/lib/pharmaobservatory/version.rb +15 -0
  347. data/lib/pharmaobservatory.rb +209 -0
  348. metadata +461 -0
@@ -0,0 +1,954 @@
1
+ =begin
2
+ #Pharma Observatory Public REST API
3
+
4
+ #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.13.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module PharmaObservatory
17
+ class ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollup
18
+ attr_accessor :kind
19
+
20
+ attr_accessor :state
21
+
22
+ attr_accessor :realized_state
23
+
24
+ attr_accessor :cutoff
25
+
26
+ attr_accessor :min_n
27
+
28
+ attr_accessor :cap_months
29
+
30
+ attr_accessor :model_version
31
+
32
+ attr_accessor :method
33
+
34
+ attr_accessor :n_trials
35
+
36
+ attr_accessor :n_evaluated
37
+
38
+ attr_accessor :n_not_evaluated
39
+
40
+ attr_accessor :statuses
41
+
42
+ attr_accessor :n_superseded
43
+
44
+ attr_accessor :n_open
45
+
46
+ attr_accessor :n_at_cap
47
+
48
+ attr_accessor :n_overdue
49
+
50
+ attr_accessor :n_error_measured
51
+
52
+ attr_accessor :predicted
53
+
54
+ attr_accessor :n_realized
55
+
56
+ attr_accessor :n_realized_over_cap
57
+
58
+ attr_accessor :realized
59
+
60
+ attr_accessor :phases
61
+
62
+ attr_accessor :scope
63
+
64
+ attr_accessor :title
65
+
66
+ attr_accessor :body
67
+
68
+ attr_accessor :figures
69
+
70
+ attr_accessor :status_counts
71
+
72
+ attr_accessor :source
73
+
74
+ attr_accessor :predicted_at_horizon_cap
75
+
76
+ # Attribute mapping from ruby-style variable name to JSON key.
77
+ def self.attribute_map
78
+ {
79
+ :'kind' => :'kind',
80
+ :'state' => :'state',
81
+ :'realized_state' => :'realized_state',
82
+ :'cutoff' => :'cutoff',
83
+ :'min_n' => :'min_n',
84
+ :'cap_months' => :'cap_months',
85
+ :'model_version' => :'model_version',
86
+ :'method' => :'method',
87
+ :'n_trials' => :'n_trials',
88
+ :'n_evaluated' => :'n_evaluated',
89
+ :'n_not_evaluated' => :'n_not_evaluated',
90
+ :'statuses' => :'statuses',
91
+ :'n_superseded' => :'n_superseded',
92
+ :'n_open' => :'n_open',
93
+ :'n_at_cap' => :'n_at_cap',
94
+ :'n_overdue' => :'n_overdue',
95
+ :'n_error_measured' => :'n_error_measured',
96
+ :'predicted' => :'predicted',
97
+ :'n_realized' => :'n_realized',
98
+ :'n_realized_over_cap' => :'n_realized_over_cap',
99
+ :'realized' => :'realized',
100
+ :'phases' => :'phases',
101
+ :'scope' => :'scope',
102
+ :'title' => :'title',
103
+ :'body' => :'body',
104
+ :'figures' => :'figures',
105
+ :'status_counts' => :'status_counts',
106
+ :'source' => :'source',
107
+ :'predicted_at_horizon_cap' => :'predicted_at_horizon_cap'
108
+ }
109
+ end
110
+
111
+ # Returns attribute mapping this model knows about
112
+ def self.acceptable_attribute_map
113
+ attribute_map
114
+ end
115
+
116
+ # Returns all the JSON keys this model knows about
117
+ def self.acceptable_attributes
118
+ acceptable_attribute_map.values
119
+ end
120
+
121
+ # Attribute type mapping.
122
+ def self.openapi_types
123
+ {
124
+ :'kind' => :'String',
125
+ :'state' => :'String',
126
+ :'realized_state' => :'String',
127
+ :'cutoff' => :'String',
128
+ :'min_n' => :'Integer',
129
+ :'cap_months' => :'Integer',
130
+ :'model_version' => :'String',
131
+ :'method' => :'String',
132
+ :'n_trials' => :'Integer',
133
+ :'n_evaluated' => :'Integer',
134
+ :'n_not_evaluated' => :'Integer',
135
+ :'statuses' => :'ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollupStatuses',
136
+ :'n_superseded' => :'Integer',
137
+ :'n_open' => :'Integer',
138
+ :'n_at_cap' => :'Integer',
139
+ :'n_overdue' => :'Integer',
140
+ :'n_error_measured' => :'Integer',
141
+ :'predicted' => :'ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollupPredicted',
142
+ :'n_realized' => :'Integer',
143
+ :'n_realized_over_cap' => :'Integer',
144
+ :'realized' => :'ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollupRealized',
145
+ :'phases' => :'Array<ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollupPhasesInner>',
146
+ :'scope' => :'String',
147
+ :'title' => :'String',
148
+ :'body' => :'String',
149
+ :'figures' => :'Array<ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollupFiguresInner>',
150
+ :'status_counts' => :'Array<ApiV1SponsorLandscapeRecruitmentRollupStatusCountsInner>',
151
+ :'source' => :'String',
152
+ :'predicted_at_horizon_cap' => :'ApiV1SponsorLandscapeRecruitmentRollupPredictedAtHorizonCap'
153
+ }
154
+ end
155
+
156
+ # List of attributes with nullable: true
157
+ def self.openapi_nullable
158
+ Set.new([
159
+ ])
160
+ end
161
+
162
+ # Initializes the object
163
+ # @param [Hash] attributes Model attributes in the form of hash
164
+ def initialize(attributes = {})
165
+ if (!attributes.is_a?(Hash))
166
+ fail ArgumentError, "The input argument (attributes) must be a hash in `PharmaObservatory::ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollup` initialize method"
167
+ end
168
+
169
+ # check to see if the attribute exists and convert string to symbol for hash key
170
+ acceptable_attribute_map = self.class.acceptable_attribute_map
171
+ attributes = attributes.each_with_object({}) { |(k, v), h|
172
+ if (!acceptable_attribute_map.key?(k.to_sym))
173
+ fail ArgumentError, "`#{k}` is not a valid attribute in `PharmaObservatory::ApiV1ConditionsConditionIdSponsorLandscapeGet200ResponseRecruitmentRollup`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
174
+ end
175
+ h[k.to_sym] = v
176
+ }
177
+
178
+ if attributes.key?(:'kind')
179
+ self.kind = attributes[:'kind']
180
+ else
181
+ self.kind = nil
182
+ end
183
+
184
+ if attributes.key?(:'state')
185
+ self.state = attributes[:'state']
186
+ else
187
+ self.state = nil
188
+ end
189
+
190
+ if attributes.key?(:'realized_state')
191
+ self.realized_state = attributes[:'realized_state']
192
+ else
193
+ self.realized_state = nil
194
+ end
195
+
196
+ if attributes.key?(:'cutoff')
197
+ self.cutoff = attributes[:'cutoff']
198
+ else
199
+ self.cutoff = nil
200
+ end
201
+
202
+ if attributes.key?(:'min_n')
203
+ self.min_n = attributes[:'min_n']
204
+ else
205
+ self.min_n = nil
206
+ end
207
+
208
+ if attributes.key?(:'cap_months')
209
+ self.cap_months = attributes[:'cap_months']
210
+ else
211
+ self.cap_months = nil
212
+ end
213
+
214
+ if attributes.key?(:'model_version')
215
+ self.model_version = attributes[:'model_version']
216
+ else
217
+ self.model_version = nil
218
+ end
219
+
220
+ if attributes.key?(:'method')
221
+ self.method = attributes[:'method']
222
+ else
223
+ self.method = nil
224
+ end
225
+
226
+ if attributes.key?(:'n_trials')
227
+ self.n_trials = attributes[:'n_trials']
228
+ else
229
+ self.n_trials = nil
230
+ end
231
+
232
+ if attributes.key?(:'n_evaluated')
233
+ self.n_evaluated = attributes[:'n_evaluated']
234
+ else
235
+ self.n_evaluated = nil
236
+ end
237
+
238
+ if attributes.key?(:'n_not_evaluated')
239
+ self.n_not_evaluated = attributes[:'n_not_evaluated']
240
+ else
241
+ self.n_not_evaluated = nil
242
+ end
243
+
244
+ if attributes.key?(:'statuses')
245
+ self.statuses = attributes[:'statuses']
246
+ else
247
+ self.statuses = nil
248
+ end
249
+
250
+ if attributes.key?(:'n_superseded')
251
+ self.n_superseded = attributes[:'n_superseded']
252
+ else
253
+ self.n_superseded = nil
254
+ end
255
+
256
+ if attributes.key?(:'n_open')
257
+ self.n_open = attributes[:'n_open']
258
+ else
259
+ self.n_open = nil
260
+ end
261
+
262
+ if attributes.key?(:'n_at_cap')
263
+ self.n_at_cap = attributes[:'n_at_cap']
264
+ else
265
+ self.n_at_cap = nil
266
+ end
267
+
268
+ if attributes.key?(:'n_overdue')
269
+ self.n_overdue = attributes[:'n_overdue']
270
+ else
271
+ self.n_overdue = nil
272
+ end
273
+
274
+ if attributes.key?(:'n_error_measured')
275
+ self.n_error_measured = attributes[:'n_error_measured']
276
+ else
277
+ self.n_error_measured = nil
278
+ end
279
+
280
+ if attributes.key?(:'predicted')
281
+ self.predicted = attributes[:'predicted']
282
+ else
283
+ self.predicted = nil
284
+ end
285
+
286
+ if attributes.key?(:'n_realized')
287
+ self.n_realized = attributes[:'n_realized']
288
+ else
289
+ self.n_realized = nil
290
+ end
291
+
292
+ if attributes.key?(:'n_realized_over_cap')
293
+ self.n_realized_over_cap = attributes[:'n_realized_over_cap']
294
+ else
295
+ self.n_realized_over_cap = nil
296
+ end
297
+
298
+ if attributes.key?(:'realized')
299
+ self.realized = attributes[:'realized']
300
+ else
301
+ self.realized = nil
302
+ end
303
+
304
+ if attributes.key?(:'phases')
305
+ if (value = attributes[:'phases']).is_a?(Array)
306
+ self.phases = value
307
+ end
308
+ else
309
+ self.phases = nil
310
+ end
311
+
312
+ if attributes.key?(:'scope')
313
+ self.scope = attributes[:'scope']
314
+ else
315
+ self.scope = nil
316
+ end
317
+
318
+ if attributes.key?(:'title')
319
+ self.title = attributes[:'title']
320
+ else
321
+ self.title = nil
322
+ end
323
+
324
+ if attributes.key?(:'body')
325
+ self.body = attributes[:'body']
326
+ else
327
+ self.body = nil
328
+ end
329
+
330
+ if attributes.key?(:'figures')
331
+ if (value = attributes[:'figures']).is_a?(Array)
332
+ self.figures = value
333
+ end
334
+ else
335
+ self.figures = nil
336
+ end
337
+
338
+ if attributes.key?(:'status_counts')
339
+ if (value = attributes[:'status_counts']).is_a?(Array)
340
+ self.status_counts = value
341
+ end
342
+ else
343
+ self.status_counts = nil
344
+ end
345
+
346
+ if attributes.key?(:'source')
347
+ self.source = attributes[:'source']
348
+ else
349
+ self.source = nil
350
+ end
351
+
352
+ if attributes.key?(:'predicted_at_horizon_cap')
353
+ self.predicted_at_horizon_cap = attributes[:'predicted_at_horizon_cap']
354
+ end
355
+ end
356
+
357
+ # Show invalid properties with the reasons. Usually used together with valid?
358
+ # @return Array for valid properties with the reasons
359
+ def list_invalid_properties
360
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
361
+ invalid_properties = Array.new
362
+ if @kind.nil?
363
+ invalid_properties.push('invalid value for "kind", kind cannot be nil.')
364
+ end
365
+
366
+ if @state.nil?
367
+ invalid_properties.push('invalid value for "state", state cannot be nil.')
368
+ end
369
+
370
+ if @realized_state.nil?
371
+ invalid_properties.push('invalid value for "realized_state", realized_state cannot be nil.')
372
+ end
373
+
374
+ if @cutoff.nil?
375
+ invalid_properties.push('invalid value for "cutoff", cutoff cannot be nil.')
376
+ end
377
+
378
+ if @min_n.nil?
379
+ invalid_properties.push('invalid value for "min_n", min_n cannot be nil.')
380
+ end
381
+
382
+ if @cap_months.nil?
383
+ invalid_properties.push('invalid value for "cap_months", cap_months cannot be nil.')
384
+ end
385
+
386
+ if @model_version.nil?
387
+ invalid_properties.push('invalid value for "model_version", model_version cannot be nil.')
388
+ end
389
+
390
+ if @method.nil?
391
+ invalid_properties.push('invalid value for "method", method cannot be nil.')
392
+ end
393
+
394
+ if @n_trials.nil?
395
+ invalid_properties.push('invalid value for "n_trials", n_trials cannot be nil.')
396
+ end
397
+
398
+ if @n_evaluated.nil?
399
+ invalid_properties.push('invalid value for "n_evaluated", n_evaluated cannot be nil.')
400
+ end
401
+
402
+ if @n_not_evaluated.nil?
403
+ invalid_properties.push('invalid value for "n_not_evaluated", n_not_evaluated cannot be nil.')
404
+ end
405
+
406
+ if @statuses.nil?
407
+ invalid_properties.push('invalid value for "statuses", statuses cannot be nil.')
408
+ end
409
+
410
+ if @n_superseded.nil?
411
+ invalid_properties.push('invalid value for "n_superseded", n_superseded cannot be nil.')
412
+ end
413
+
414
+ if @n_open.nil?
415
+ invalid_properties.push('invalid value for "n_open", n_open cannot be nil.')
416
+ end
417
+
418
+ if @n_at_cap.nil?
419
+ invalid_properties.push('invalid value for "n_at_cap", n_at_cap cannot be nil.')
420
+ end
421
+
422
+ if @n_overdue.nil?
423
+ invalid_properties.push('invalid value for "n_overdue", n_overdue cannot be nil.')
424
+ end
425
+
426
+ if @n_error_measured.nil?
427
+ invalid_properties.push('invalid value for "n_error_measured", n_error_measured cannot be nil.')
428
+ end
429
+
430
+ if @predicted.nil?
431
+ invalid_properties.push('invalid value for "predicted", predicted cannot be nil.')
432
+ end
433
+
434
+ if @n_realized.nil?
435
+ invalid_properties.push('invalid value for "n_realized", n_realized cannot be nil.')
436
+ end
437
+
438
+ if @n_realized_over_cap.nil?
439
+ invalid_properties.push('invalid value for "n_realized_over_cap", n_realized_over_cap cannot be nil.')
440
+ end
441
+
442
+ if @realized.nil?
443
+ invalid_properties.push('invalid value for "realized", realized cannot be nil.')
444
+ end
445
+
446
+ if @phases.nil?
447
+ invalid_properties.push('invalid value for "phases", phases cannot be nil.')
448
+ end
449
+
450
+ if @scope.nil?
451
+ invalid_properties.push('invalid value for "scope", scope cannot be nil.')
452
+ end
453
+
454
+ if @title.nil?
455
+ invalid_properties.push('invalid value for "title", title cannot be nil.')
456
+ end
457
+
458
+ if @body.nil?
459
+ invalid_properties.push('invalid value for "body", body cannot be nil.')
460
+ end
461
+
462
+ if @figures.nil?
463
+ invalid_properties.push('invalid value for "figures", figures cannot be nil.')
464
+ end
465
+
466
+ if @status_counts.nil?
467
+ invalid_properties.push('invalid value for "status_counts", status_counts cannot be nil.')
468
+ end
469
+
470
+ if @source.nil?
471
+ invalid_properties.push('invalid value for "source", source cannot be nil.')
472
+ end
473
+
474
+ invalid_properties
475
+ end
476
+
477
+ # Check to see if the all the properties in the model are valid
478
+ # @return true if the model is valid
479
+ def valid?
480
+ warn '[DEPRECATED] the `valid?` method is obsolete'
481
+ return false if @kind.nil?
482
+ return false if @state.nil?
483
+ return false if @realized_state.nil?
484
+ return false if @cutoff.nil?
485
+ return false if @min_n.nil?
486
+ return false if @cap_months.nil?
487
+ return false if @model_version.nil?
488
+ return false if @method.nil?
489
+ return false if @n_trials.nil?
490
+ return false if @n_evaluated.nil?
491
+ return false if @n_not_evaluated.nil?
492
+ return false if @statuses.nil?
493
+ return false if @n_superseded.nil?
494
+ return false if @n_open.nil?
495
+ return false if @n_at_cap.nil?
496
+ return false if @n_overdue.nil?
497
+ return false if @n_error_measured.nil?
498
+ return false if @predicted.nil?
499
+ return false if @n_realized.nil?
500
+ return false if @n_realized_over_cap.nil?
501
+ return false if @realized.nil?
502
+ return false if @phases.nil?
503
+ return false if @scope.nil?
504
+ return false if @title.nil?
505
+ return false if @body.nil?
506
+ return false if @figures.nil?
507
+ return false if @status_counts.nil?
508
+ return false if @source.nil?
509
+ true
510
+ end
511
+
512
+ # Custom attribute writer method with validation
513
+ # @param [Object] kind Value to be assigned
514
+ def kind=(kind)
515
+ if kind.nil?
516
+ fail ArgumentError, 'kind cannot be nil'
517
+ end
518
+
519
+ @kind = kind
520
+ end
521
+
522
+ # Custom attribute writer method with validation
523
+ # @param [Object] state Value to be assigned
524
+ def state=(state)
525
+ if state.nil?
526
+ fail ArgumentError, 'state cannot be nil'
527
+ end
528
+
529
+ @state = state
530
+ end
531
+
532
+ # Custom attribute writer method with validation
533
+ # @param [Object] realized_state Value to be assigned
534
+ def realized_state=(realized_state)
535
+ if realized_state.nil?
536
+ fail ArgumentError, 'realized_state cannot be nil'
537
+ end
538
+
539
+ @realized_state = realized_state
540
+ end
541
+
542
+ # Custom attribute writer method with validation
543
+ # @param [Object] cutoff Value to be assigned
544
+ def cutoff=(cutoff)
545
+ if cutoff.nil?
546
+ fail ArgumentError, 'cutoff cannot be nil'
547
+ end
548
+
549
+ @cutoff = cutoff
550
+ end
551
+
552
+ # Custom attribute writer method with validation
553
+ # @param [Object] min_n Value to be assigned
554
+ def min_n=(min_n)
555
+ if min_n.nil?
556
+ fail ArgumentError, 'min_n cannot be nil'
557
+ end
558
+
559
+ @min_n = min_n
560
+ end
561
+
562
+ # Custom attribute writer method with validation
563
+ # @param [Object] cap_months Value to be assigned
564
+ def cap_months=(cap_months)
565
+ if cap_months.nil?
566
+ fail ArgumentError, 'cap_months cannot be nil'
567
+ end
568
+
569
+ @cap_months = cap_months
570
+ end
571
+
572
+ # Custom attribute writer method with validation
573
+ # @param [Object] model_version Value to be assigned
574
+ def model_version=(model_version)
575
+ if model_version.nil?
576
+ fail ArgumentError, 'model_version cannot be nil'
577
+ end
578
+
579
+ @model_version = model_version
580
+ end
581
+
582
+ # Custom attribute writer method with validation
583
+ # @param [Object] method Value to be assigned
584
+ def method=(method)
585
+ if method.nil?
586
+ fail ArgumentError, 'method cannot be nil'
587
+ end
588
+
589
+ @method = method
590
+ end
591
+
592
+ # Custom attribute writer method with validation
593
+ # @param [Object] n_trials Value to be assigned
594
+ def n_trials=(n_trials)
595
+ if n_trials.nil?
596
+ fail ArgumentError, 'n_trials cannot be nil'
597
+ end
598
+
599
+ @n_trials = n_trials
600
+ end
601
+
602
+ # Custom attribute writer method with validation
603
+ # @param [Object] n_evaluated Value to be assigned
604
+ def n_evaluated=(n_evaluated)
605
+ if n_evaluated.nil?
606
+ fail ArgumentError, 'n_evaluated cannot be nil'
607
+ end
608
+
609
+ @n_evaluated = n_evaluated
610
+ end
611
+
612
+ # Custom attribute writer method with validation
613
+ # @param [Object] n_not_evaluated Value to be assigned
614
+ def n_not_evaluated=(n_not_evaluated)
615
+ if n_not_evaluated.nil?
616
+ fail ArgumentError, 'n_not_evaluated cannot be nil'
617
+ end
618
+
619
+ @n_not_evaluated = n_not_evaluated
620
+ end
621
+
622
+ # Custom attribute writer method with validation
623
+ # @param [Object] statuses Value to be assigned
624
+ def statuses=(statuses)
625
+ if statuses.nil?
626
+ fail ArgumentError, 'statuses cannot be nil'
627
+ end
628
+
629
+ @statuses = statuses
630
+ end
631
+
632
+ # Custom attribute writer method with validation
633
+ # @param [Object] n_superseded Value to be assigned
634
+ def n_superseded=(n_superseded)
635
+ if n_superseded.nil?
636
+ fail ArgumentError, 'n_superseded cannot be nil'
637
+ end
638
+
639
+ @n_superseded = n_superseded
640
+ end
641
+
642
+ # Custom attribute writer method with validation
643
+ # @param [Object] n_open Value to be assigned
644
+ def n_open=(n_open)
645
+ if n_open.nil?
646
+ fail ArgumentError, 'n_open cannot be nil'
647
+ end
648
+
649
+ @n_open = n_open
650
+ end
651
+
652
+ # Custom attribute writer method with validation
653
+ # @param [Object] n_at_cap Value to be assigned
654
+ def n_at_cap=(n_at_cap)
655
+ if n_at_cap.nil?
656
+ fail ArgumentError, 'n_at_cap cannot be nil'
657
+ end
658
+
659
+ @n_at_cap = n_at_cap
660
+ end
661
+
662
+ # Custom attribute writer method with validation
663
+ # @param [Object] n_overdue Value to be assigned
664
+ def n_overdue=(n_overdue)
665
+ if n_overdue.nil?
666
+ fail ArgumentError, 'n_overdue cannot be nil'
667
+ end
668
+
669
+ @n_overdue = n_overdue
670
+ end
671
+
672
+ # Custom attribute writer method with validation
673
+ # @param [Object] n_error_measured Value to be assigned
674
+ def n_error_measured=(n_error_measured)
675
+ if n_error_measured.nil?
676
+ fail ArgumentError, 'n_error_measured cannot be nil'
677
+ end
678
+
679
+ @n_error_measured = n_error_measured
680
+ end
681
+
682
+ # Custom attribute writer method with validation
683
+ # @param [Object] predicted Value to be assigned
684
+ def predicted=(predicted)
685
+ if predicted.nil?
686
+ fail ArgumentError, 'predicted cannot be nil'
687
+ end
688
+
689
+ @predicted = predicted
690
+ end
691
+
692
+ # Custom attribute writer method with validation
693
+ # @param [Object] n_realized Value to be assigned
694
+ def n_realized=(n_realized)
695
+ if n_realized.nil?
696
+ fail ArgumentError, 'n_realized cannot be nil'
697
+ end
698
+
699
+ @n_realized = n_realized
700
+ end
701
+
702
+ # Custom attribute writer method with validation
703
+ # @param [Object] n_realized_over_cap Value to be assigned
704
+ def n_realized_over_cap=(n_realized_over_cap)
705
+ if n_realized_over_cap.nil?
706
+ fail ArgumentError, 'n_realized_over_cap cannot be nil'
707
+ end
708
+
709
+ @n_realized_over_cap = n_realized_over_cap
710
+ end
711
+
712
+ # Custom attribute writer method with validation
713
+ # @param [Object] realized Value to be assigned
714
+ def realized=(realized)
715
+ if realized.nil?
716
+ fail ArgumentError, 'realized cannot be nil'
717
+ end
718
+
719
+ @realized = realized
720
+ end
721
+
722
+ # Custom attribute writer method with validation
723
+ # @param [Object] phases Value to be assigned
724
+ def phases=(phases)
725
+ if phases.nil?
726
+ fail ArgumentError, 'phases cannot be nil'
727
+ end
728
+
729
+ @phases = phases
730
+ end
731
+
732
+ # Custom attribute writer method with validation
733
+ # @param [Object] scope Value to be assigned
734
+ def scope=(scope)
735
+ if scope.nil?
736
+ fail ArgumentError, 'scope cannot be nil'
737
+ end
738
+
739
+ @scope = scope
740
+ end
741
+
742
+ # Custom attribute writer method with validation
743
+ # @param [Object] title Value to be assigned
744
+ def title=(title)
745
+ if title.nil?
746
+ fail ArgumentError, 'title cannot be nil'
747
+ end
748
+
749
+ @title = title
750
+ end
751
+
752
+ # Custom attribute writer method with validation
753
+ # @param [Object] body Value to be assigned
754
+ def body=(body)
755
+ if body.nil?
756
+ fail ArgumentError, 'body cannot be nil'
757
+ end
758
+
759
+ @body = body
760
+ end
761
+
762
+ # Custom attribute writer method with validation
763
+ # @param [Object] figures Value to be assigned
764
+ def figures=(figures)
765
+ if figures.nil?
766
+ fail ArgumentError, 'figures cannot be nil'
767
+ end
768
+
769
+ @figures = figures
770
+ end
771
+
772
+ # Custom attribute writer method with validation
773
+ # @param [Object] status_counts Value to be assigned
774
+ def status_counts=(status_counts)
775
+ if status_counts.nil?
776
+ fail ArgumentError, 'status_counts cannot be nil'
777
+ end
778
+
779
+ @status_counts = status_counts
780
+ end
781
+
782
+ # Custom attribute writer method with validation
783
+ # @param [Object] source Value to be assigned
784
+ def source=(source)
785
+ if source.nil?
786
+ fail ArgumentError, 'source cannot be nil'
787
+ end
788
+
789
+ @source = source
790
+ end
791
+
792
+ # Checks equality by comparing each attribute.
793
+ # @param [Object] Object to be compared
794
+ def ==(o)
795
+ return true if self.equal?(o)
796
+ self.class == o.class &&
797
+ kind == o.kind &&
798
+ state == o.state &&
799
+ realized_state == o.realized_state &&
800
+ cutoff == o.cutoff &&
801
+ min_n == o.min_n &&
802
+ cap_months == o.cap_months &&
803
+ model_version == o.model_version &&
804
+ method == o.method &&
805
+ n_trials == o.n_trials &&
806
+ n_evaluated == o.n_evaluated &&
807
+ n_not_evaluated == o.n_not_evaluated &&
808
+ statuses == o.statuses &&
809
+ n_superseded == o.n_superseded &&
810
+ n_open == o.n_open &&
811
+ n_at_cap == o.n_at_cap &&
812
+ n_overdue == o.n_overdue &&
813
+ n_error_measured == o.n_error_measured &&
814
+ predicted == o.predicted &&
815
+ n_realized == o.n_realized &&
816
+ n_realized_over_cap == o.n_realized_over_cap &&
817
+ realized == o.realized &&
818
+ phases == o.phases &&
819
+ scope == o.scope &&
820
+ title == o.title &&
821
+ body == o.body &&
822
+ figures == o.figures &&
823
+ status_counts == o.status_counts &&
824
+ source == o.source &&
825
+ predicted_at_horizon_cap == o.predicted_at_horizon_cap
826
+ end
827
+
828
+ # @see the `==` method
829
+ # @param [Object] Object to be compared
830
+ def eql?(o)
831
+ self == o
832
+ end
833
+
834
+ # Calculates hash code according to all attributes.
835
+ # @return [Integer] Hash code
836
+ def hash
837
+ [kind, state, realized_state, cutoff, min_n, cap_months, model_version, method, n_trials, n_evaluated, n_not_evaluated, statuses, n_superseded, n_open, n_at_cap, n_overdue, n_error_measured, predicted, n_realized, n_realized_over_cap, realized, phases, scope, title, body, figures, status_counts, source, predicted_at_horizon_cap].hash
838
+ end
839
+
840
+ # Builds the object from hash
841
+ # @param [Hash] attributes Model attributes in the form of hash
842
+ # @return [Object] Returns the model itself
843
+ def self.build_from_hash(attributes)
844
+ return nil unless attributes.is_a?(Hash)
845
+ attributes = attributes.transform_keys(&:to_sym)
846
+ transformed_hash = {}
847
+ openapi_types.each_pair do |key, type|
848
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
849
+ transformed_hash["#{key}"] = nil
850
+ elsif type =~ /\AArray<(.*)>/i
851
+ # check to ensure the input is an array given that the attribute
852
+ # is documented as an array but the input is not
853
+ if attributes[attribute_map[key]].is_a?(Array)
854
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
855
+ end
856
+ elsif !attributes[attribute_map[key]].nil?
857
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
858
+ end
859
+ end
860
+ new(transformed_hash)
861
+ end
862
+
863
+ # Deserializes the data based on type
864
+ # @param string type Data type
865
+ # @param string value Value to be deserialized
866
+ # @return [Object] Deserialized data
867
+ def self._deserialize(type, value)
868
+ case type.to_sym
869
+ when :Time
870
+ Time.parse(value)
871
+ when :Date
872
+ Date.parse(value)
873
+ when :String
874
+ value.to_s
875
+ when :Integer
876
+ value.to_i
877
+ when :Float
878
+ value.to_f
879
+ when :Boolean
880
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
881
+ true
882
+ else
883
+ false
884
+ end
885
+ when :Object
886
+ # generic object (usually a Hash), return directly
887
+ value
888
+ when /\AArray<(?<inner_type>.+)>\z/
889
+ inner_type = Regexp.last_match[:inner_type]
890
+ value.map { |v| _deserialize(inner_type, v) }
891
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
892
+ k_type = Regexp.last_match[:k_type]
893
+ v_type = Regexp.last_match[:v_type]
894
+ {}.tap do |hash|
895
+ value.each do |k, v|
896
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
897
+ end
898
+ end
899
+ else # model
900
+ # models (e.g. Pet) or oneOf
901
+ klass = PharmaObservatory.const_get(type)
902
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
903
+ end
904
+ end
905
+
906
+ # Returns the string representation of the object
907
+ # @return [String] String presentation of the object
908
+ def to_s
909
+ to_hash.to_s
910
+ end
911
+
912
+ # to_body is an alias to to_hash (backward compatibility)
913
+ # @return [Hash] Returns the object in the form of hash
914
+ def to_body
915
+ to_hash
916
+ end
917
+
918
+ # Returns the object in the form of hash
919
+ # @return [Hash] Returns the object in the form of hash
920
+ def to_hash
921
+ hash = {}
922
+ self.class.attribute_map.each_pair do |attr, param|
923
+ value = self.send(attr)
924
+ if value.nil?
925
+ is_nullable = self.class.openapi_nullable.include?(attr)
926
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
927
+ end
928
+
929
+ hash[param] = _to_hash(value)
930
+ end
931
+ hash
932
+ end
933
+
934
+ # Outputs non-array value in the form of hash
935
+ # For object, use to_hash. Otherwise, just return the value
936
+ # @param [Object] value Any valid value
937
+ # @return [Hash] Returns the value in the form of hash
938
+ def _to_hash(value)
939
+ if value.is_a?(Array)
940
+ value.compact.map { |v| _to_hash(v) }
941
+ elsif value.is_a?(Hash)
942
+ {}.tap do |hash|
943
+ value.each { |k, v| hash[k] = _to_hash(v) }
944
+ end
945
+ elsif value.respond_to? :to_hash
946
+ value.to_hash
947
+ else
948
+ value
949
+ end
950
+ end
951
+
952
+ end
953
+
954
+ end