sbom-cyclonedx 0.1.0 → 0.2.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 (368) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +15 -0
  3. data/.gitlab-ci.yml +49 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +72 -0
  6. data/.vscode/settings.json +6 -0
  7. data/CHANGELOG.md +9 -0
  8. data/CODE_OF_CONDUCT.md +132 -0
  9. data/Gemfile +26 -0
  10. data/Gemfile.lock +179 -0
  11. data/LICENSE.txt +21 -0
  12. data/README.md +39 -0
  13. data/Rakefile +36 -0
  14. data/Steepfile +14 -0
  15. data/bin/console +11 -0
  16. data/bin/rbs_spec +9 -0
  17. data/bin/setup +8 -0
  18. data/bom-1.6.schema.json +7334 -0
  19. data/lib/email_address_extension.rb +26 -0
  20. data/lib/sbom/cyclone_dx/enum.rb +2178 -0
  21. data/lib/sbom/cyclone_dx/field.rb +404 -0
  22. data/lib/sbom/cyclone_dx/pattern.rb +43 -0
  23. data/lib/sbom/cyclone_dx/record/advisory.rb +17 -0
  24. data/lib/sbom/cyclone_dx/record/annotation.rb +46 -0
  25. data/lib/sbom/cyclone_dx/record/attachment.rb +21 -0
  26. data/lib/sbom/cyclone_dx/record/base.rb +244 -0
  27. data/lib/sbom/cyclone_dx/record/cipher_suite.rb +23 -0
  28. data/lib/sbom/cyclone_dx/record/co2_measure.rb +18 -0
  29. data/lib/sbom/cyclone_dx/record/command.rb +18 -0
  30. data/lib/sbom/cyclone_dx/record/commit.rb +25 -0
  31. data/lib/sbom/cyclone_dx/record/component.rb +126 -0
  32. data/lib/sbom/cyclone_dx/record/component_data.rb +46 -0
  33. data/lib/sbom/cyclone_dx/record/component_evidence.rb +68 -0
  34. data/lib/sbom/cyclone_dx/record/component_identity_evidence.rb +36 -0
  35. data/lib/sbom/cyclone_dx/record/composition.rb +33 -0
  36. data/lib/sbom/cyclone_dx/record/condition.rb +20 -0
  37. data/lib/sbom/cyclone_dx/record/copyright.rb +16 -0
  38. data/lib/sbom/cyclone_dx/record/crypto_properties.rb +137 -0
  39. data/lib/sbom/cyclone_dx/record/data_governance.rb +21 -0
  40. data/lib/sbom/cyclone_dx/record/data_governance_responsible_party.rb +22 -0
  41. data/lib/sbom/cyclone_dx/record/declarations.rb +193 -0
  42. data/lib/sbom/cyclone_dx/record/definitions.rb +17 -0
  43. data/lib/sbom/cyclone_dx/record/dependency.rb +21 -0
  44. data/lib/sbom/cyclone_dx/record/diff.rb +18 -0
  45. data/lib/sbom/cyclone_dx/record/energy_consumption.rb +31 -0
  46. data/lib/sbom/cyclone_dx/record/energy_measure.rb +18 -0
  47. data/lib/sbom/cyclone_dx/record/energy_provider.rb +31 -0
  48. data/lib/sbom/cyclone_dx/record/environmental_consideration.rb +20 -0
  49. data/lib/sbom/cyclone_dx/record/event.rb +31 -0
  50. data/lib/sbom/cyclone_dx/record/external_reference.rb +25 -0
  51. data/lib/sbom/cyclone_dx/record/fairness_assessment.rb +22 -0
  52. data/lib/sbom/cyclone_dx/record/formula.rb +29 -0
  53. data/lib/sbom/cyclone_dx/record/graphic.rb +19 -0
  54. data/lib/sbom/cyclone_dx/record/graphics_collection.rb +19 -0
  55. data/lib/sbom/cyclone_dx/record/hash_data.rb +18 -0
  56. data/lib/sbom/cyclone_dx/record/identifiable_action.rb +21 -0
  57. data/lib/sbom/cyclone_dx/record/input.rb +34 -0
  58. data/lib/sbom/cyclone_dx/record/input_output_ml_parameter.rb +17 -0
  59. data/lib/sbom/cyclone_dx/record/issue.rb +36 -0
  60. data/lib/sbom/cyclone_dx/record/license.rb +90 -0
  61. data/lib/sbom/cyclone_dx/record/license_choice.rb +35 -0
  62. data/lib/sbom/cyclone_dx/record/metadata.rb +55 -0
  63. data/lib/sbom/cyclone_dx/record/model_card.rb +89 -0
  64. data/lib/sbom/cyclone_dx/record/note.rb +20 -0
  65. data/lib/sbom/cyclone_dx/record/organizational_contact.rb +26 -0
  66. data/lib/sbom/cyclone_dx/record/organizational_entity.rb +28 -0
  67. data/lib/sbom/cyclone_dx/record/output.rb +34 -0
  68. data/lib/sbom/cyclone_dx/record/parameter.rb +20 -0
  69. data/lib/sbom/cyclone_dx/record/patch.rb +23 -0
  70. data/lib/sbom/cyclone_dx/record/performance_metric.rb +30 -0
  71. data/lib/sbom/cyclone_dx/record/postal_address.rb +34 -0
  72. data/lib/sbom/cyclone_dx/record/property.rb +18 -0
  73. data/lib/sbom/cyclone_dx/record/rating.rb +27 -0
  74. data/lib/sbom/cyclone_dx/record/release_notes.rb +44 -0
  75. data/lib/sbom/cyclone_dx/record/resource_reference_choice.rb +22 -0
  76. data/lib/sbom/cyclone_dx/record/risk.rb +18 -0
  77. data/lib/sbom/cyclone_dx/record/root.rb +63 -0
  78. data/lib/sbom/cyclone_dx/record/secured_by.rb +20 -0
  79. data/lib/sbom/cyclone_dx/record/service.rb +54 -0
  80. data/lib/sbom/cyclone_dx/record/service_data.rb +32 -0
  81. data/lib/sbom/cyclone_dx/record/signature.rb +85 -0
  82. data/lib/sbom/cyclone_dx/record/standard.rb +72 -0
  83. data/lib/sbom/cyclone_dx/record/step.rb +24 -0
  84. data/lib/sbom/cyclone_dx/record/swid.rb +29 -0
  85. data/lib/sbom/cyclone_dx/record/task.rb +56 -0
  86. data/lib/sbom/cyclone_dx/record/tools.rb +20 -0
  87. data/lib/sbom/cyclone_dx/record/trigger.rb +48 -0
  88. data/lib/sbom/cyclone_dx/record/version.rb +24 -0
  89. data/lib/sbom/cyclone_dx/record/volume.rb +33 -0
  90. data/lib/sbom/cyclone_dx/record/vulnerability.rb +119 -0
  91. data/lib/sbom/cyclone_dx/record/vulnerability_source.rb +20 -0
  92. data/lib/sbom/cyclone_dx/record/workflow.rb +59 -0
  93. data/lib/sbom/cyclone_dx/record/workspace.rb +45 -0
  94. data/lib/sbom/cyclone_dx/record.rb +12 -0
  95. data/lib/sbom/cyclone_dx/validator/array_validator.rb +66 -0
  96. data/lib/sbom/cyclone_dx/validator/base_validator.rb +43 -0
  97. data/lib/sbom/cyclone_dx/validator/boolean_validator.rb +16 -0
  98. data/lib/sbom/cyclone_dx/validator/date_time_validator.rb +29 -0
  99. data/lib/sbom/cyclone_dx/validator/email_address_validator.rb +31 -0
  100. data/lib/sbom/cyclone_dx/validator/float_validator.rb +30 -0
  101. data/lib/sbom/cyclone_dx/validator/integer_validator.rb +30 -0
  102. data/lib/sbom/cyclone_dx/validator/record_validator.rb +26 -0
  103. data/lib/sbom/cyclone_dx/validator/string_validator.rb +33 -0
  104. data/lib/sbom/cyclone_dx/validator/union_validator.rb +39 -0
  105. data/lib/sbom/cyclone_dx/validator/uri_validator.rb +32 -0
  106. data/lib/sbom/cyclone_dx/validator.rb +32 -0
  107. data/lib/sbom/cyclone_dx/version.rb +7 -0
  108. data/lib/sbom/cyclone_dx.rb +39 -0
  109. data/rbs_collection.lock.yaml +288 -0
  110. data/rbs_collection.yaml +31 -0
  111. data/sbom-cyclone_dx.gemspec +32 -0
  112. data/sig/email_address_extension.rbs +14 -0
  113. data/sig/sbom/cyclone_dx/enum.rbs +93 -0
  114. data/sig/sbom/cyclone_dx/field.rbs +434 -0
  115. data/sig/sbom/cyclone_dx/pattern.rbs +24 -0
  116. data/sig/sbom/cyclone_dx/record/advisory.rbs +19 -0
  117. data/sig/sbom/cyclone_dx/record/annotation.rbs +63 -0
  118. data/sig/sbom/cyclone_dx/record/attachment.rbs +24 -0
  119. data/sig/sbom/cyclone_dx/record/base.rbs +62 -0
  120. data/sig/sbom/cyclone_dx/record/cipher_suite.rbs +24 -0
  121. data/sig/sbom/cyclone_dx/record/co2_measure.rbs +14 -0
  122. data/sig/sbom/cyclone_dx/record/command.rbs +19 -0
  123. data/sig/sbom/cyclone_dx/record/commit.rbs +34 -0
  124. data/sig/sbom/cyclone_dx/record/component.rbs +203 -0
  125. data/sig/sbom/cyclone_dx/record/component_data.rbs +73 -0
  126. data/sig/sbom/cyclone_dx/record/component_evidence.rbs +115 -0
  127. data/sig/sbom/cyclone_dx/record/component_identity_evidence.rbs +53 -0
  128. data/sig/sbom/cyclone_dx/record/composition.rbs +39 -0
  129. data/sig/sbom/cyclone_dx/record/condition.rbs +24 -0
  130. data/sig/sbom/cyclone_dx/record/copyright.rbs +14 -0
  131. data/sig/sbom/cyclone_dx/record/crypto_properties.rbs +268 -0
  132. data/sig/sbom/cyclone_dx/record/data_governance.rbs +24 -0
  133. data/sig/sbom/cyclone_dx/record/data_governance_responsible_party.rbs +19 -0
  134. data/sig/sbom/cyclone_dx/record/declarations.rbs +352 -0
  135. data/sig/sbom/cyclone_dx/record/definitions.rbs +14 -0
  136. data/sig/sbom/cyclone_dx/record/dependency.rbs +24 -0
  137. data/sig/sbom/cyclone_dx/record/diff.rbs +19 -0
  138. data/sig/sbom/cyclone_dx/record/energy_consumption.rbs +39 -0
  139. data/sig/sbom/cyclone_dx/record/energy_measure.rbs +14 -0
  140. data/sig/sbom/cyclone_dx/record/energy_provider.rbs +39 -0
  141. data/sig/sbom/cyclone_dx/record/environmental_consideration.rbs +19 -0
  142. data/sig/sbom/cyclone_dx/record/event.rbs +44 -0
  143. data/sig/sbom/cyclone_dx/record/external_reference.rbs +29 -0
  144. data/sig/sbom/cyclone_dx/record/fairness_assessment.rbs +29 -0
  145. data/sig/sbom/cyclone_dx/record/formula.rbs +34 -0
  146. data/sig/sbom/cyclone_dx/record/graphic.rbs +19 -0
  147. data/sig/sbom/cyclone_dx/record/graphics_collection.rbs +19 -0
  148. data/sig/sbom/cyclone_dx/record/hash_data.rbs +19 -0
  149. data/sig/sbom/cyclone_dx/record/identifiable_action.rbs +24 -0
  150. data/sig/sbom/cyclone_dx/record/input.rbs +44 -0
  151. data/sig/sbom/cyclone_dx/record/input_output_ml_parameter.rbs +14 -0
  152. data/sig/sbom/cyclone_dx/record/issue.rbs +53 -0
  153. data/sig/sbom/cyclone_dx/record/license.rbs +134 -0
  154. data/sig/sbom/cyclone_dx/record/license_choice.rbs +39 -0
  155. data/sig/sbom/cyclone_dx/record/metadata.rbs +82 -0
  156. data/sig/sbom/cyclone_dx/record/model_card.rbs +143 -0
  157. data/sig/sbom/cyclone_dx/record/note.rbs +19 -0
  158. data/sig/sbom/cyclone_dx/record/organizational_contact.rbs +29 -0
  159. data/sig/sbom/cyclone_dx/record/organizational_entity.rbs +34 -0
  160. data/sig/sbom/cyclone_dx/record/output.rbs +44 -0
  161. data/sig/sbom/cyclone_dx/record/parameter.rbs +24 -0
  162. data/sig/sbom/cyclone_dx/record/patch.rbs +24 -0
  163. data/sig/sbom/cyclone_dx/record/performance_metric.rbs +43 -0
  164. data/sig/sbom/cyclone_dx/record/postal_address.rbs +44 -0
  165. data/sig/sbom/cyclone_dx/record/property.rbs +19 -0
  166. data/sig/sbom/cyclone_dx/record/rating.rbs +39 -0
  167. data/sig/sbom/cyclone_dx/record/release_notes.rbs +64 -0
  168. data/sig/sbom/cyclone_dx/record/resource_reference_choice.rbs +19 -0
  169. data/sig/sbom/cyclone_dx/record/risk.rbs +19 -0
  170. data/sig/sbom/cyclone_dx/record/root.rbs +84 -0
  171. data/sig/sbom/cyclone_dx/record/secured_by.rbs +19 -0
  172. data/sig/sbom/cyclone_dx/record/service.rbs +99 -0
  173. data/sig/sbom/cyclone_dx/record/service_data.rbs +44 -0
  174. data/sig/sbom/cyclone_dx/record/signature.rbs +130 -0
  175. data/sig/sbom/cyclone_dx/record/standard.rbs +132 -0
  176. data/sig/sbom/cyclone_dx/record/step.rbs +29 -0
  177. data/sig/sbom/cyclone_dx/record/swid.rbs +44 -0
  178. data/sig/sbom/cyclone_dx/record/task.rbs +84 -0
  179. data/sig/sbom/cyclone_dx/record/tools.rbs +19 -0
  180. data/sig/sbom/cyclone_dx/record/trigger.rbs +69 -0
  181. data/sig/sbom/cyclone_dx/record/version.rbs +24 -0
  182. data/sig/sbom/cyclone_dx/record/volume.rbs +49 -0
  183. data/sig/sbom/cyclone_dx/record/vulnerability.rbs +209 -0
  184. data/sig/sbom/cyclone_dx/record/vulnerability_source.rbs +19 -0
  185. data/sig/sbom/cyclone_dx/record/workflow.rbs +94 -0
  186. data/sig/sbom/cyclone_dx/record/workspace.rbs +69 -0
  187. data/sig/sbom/cyclone_dx/record.rbs +161 -0
  188. data/sig/sbom/cyclone_dx/type.rbs +16 -0
  189. data/sig/sbom/cyclone_dx/validator/array_validator.rbs +31 -0
  190. data/sig/sbom/cyclone_dx/validator/base_validator.rbs +21 -0
  191. data/sig/sbom/cyclone_dx/validator/boolean_validator.rbs +9 -0
  192. data/sig/sbom/cyclone_dx/validator/date_time_validator.rbs +10 -0
  193. data/sig/sbom/cyclone_dx/validator/email_address_validator.rbs +10 -0
  194. data/sig/sbom/cyclone_dx/validator/float_validator.rbs +12 -0
  195. data/sig/sbom/cyclone_dx/validator/integer_validator.rbs +12 -0
  196. data/sig/sbom/cyclone_dx/validator/record_validator.rbs +12 -0
  197. data/sig/sbom/cyclone_dx/validator/string_validator.rbs +14 -0
  198. data/sig/sbom/cyclone_dx/validator/union_validator.rbs +24 -0
  199. data/sig/sbom/cyclone_dx/validator/uri_validator.rbs +10 -0
  200. data/sig/sbom/cyclone_dx/validator.rbs +66 -0
  201. data/sig/sbom/cyclone_dx.rbs +13 -0
  202. data/sig/types.rbs +45 -0
  203. data/spec/email_address_extension_spec.rb +27 -0
  204. data/spec/factories/factory_helper.rb +78 -0
  205. data/spec/factories/record/advisory_factory.rb +11 -0
  206. data/spec/factories/record/annotation_factory.rb +63 -0
  207. data/spec/factories/record/attachment_factory.rb +9 -0
  208. data/spec/factories/record/cipher_suite_factory.rb +26 -0
  209. data/spec/factories/record/co2_measure_factory.rb +9 -0
  210. data/spec/factories/record/command_factory.rb +10 -0
  211. data/spec/factories/record/commit_factory.rb +13 -0
  212. data/spec/factories/record/component_data_factory.rb +28 -0
  213. data/spec/factories/record/component_evidence_factory.rb +44 -0
  214. data/spec/factories/record/component_factory.rb +102 -0
  215. data/spec/factories/record/component_identity_evidence_factory.rb +25 -0
  216. data/spec/factories/record/composition_factory.rb +20 -0
  217. data/spec/factories/record/condition_factory.rb +11 -0
  218. data/spec/factories/record/copyright_factory.rb +9 -0
  219. data/spec/factories/record/crypto_properties_factory.rb +191 -0
  220. data/spec/factories/record/data_governance_factory.rb +11 -0
  221. data/spec/factories/record/data_governance_responsible_party_factory.rb +31 -0
  222. data/spec/factories/record/declarations_factory.rb +145 -0
  223. data/spec/factories/record/definitions_factory.rb +9 -0
  224. data/spec/factories/record/dependency_factory.rb +12 -0
  225. data/spec/factories/record/diff_factory.rb +24 -0
  226. data/spec/factories/record/energy_consumption_factory.rb +15 -0
  227. data/spec/factories/record/energy_measure_factory.rb +9 -0
  228. data/spec/factories/record/energy_provider_factory.rb +15 -0
  229. data/spec/factories/record/environmental_consideration_factory.rb +10 -0
  230. data/spec/factories/record/event_factory.rb +15 -0
  231. data/spec/factories/record/external_reference_factory.rb +13 -0
  232. data/spec/factories/record/fairness_assessment_factory.rb +12 -0
  233. data/spec/factories/record/formula_factory.rb +13 -0
  234. data/spec/factories/record/graphic_factory.rb +10 -0
  235. data/spec/factories/record/graphics_collection_factory.rb +10 -0
  236. data/spec/factories/record/hash_data_factory.rb +10 -0
  237. data/spec/factories/record/identifiable_action_factory.rb +11 -0
  238. data/spec/factories/record/input_factory.rb +36 -0
  239. data/spec/factories/record/input_output_ml_parameter_factory.rb +9 -0
  240. data/spec/factories/record/issue_factory.rb +22 -0
  241. data/spec/factories/record/license_choice_factory.rb +23 -0
  242. data/spec/factories/record/license_factory.rb +99 -0
  243. data/spec/factories/record/metadata_factory.rb +38 -0
  244. data/spec/factories/record/model_card_factory.rb +59 -0
  245. data/spec/factories/record/note_factory.rb +11 -0
  246. data/spec/factories/record/organizational_contact_factory.rb +12 -0
  247. data/spec/factories/record/organizational_entity_factory.rb +13 -0
  248. data/spec/factories/record/output_factory.rb +32 -0
  249. data/spec/factories/record/parameter_factory.rb +11 -0
  250. data/spec/factories/record/patch_factory.rb +12 -0
  251. data/spec/factories/record/performance_metric_factory.rb +20 -0
  252. data/spec/factories/record/postal_address_factory.rb +14 -0
  253. data/spec/factories/record/property_factory.rb +11 -0
  254. data/spec/factories/record/rating_factory.rb +14 -0
  255. data/spec/factories/record/release_notes_factory.rb +20 -0
  256. data/spec/factories/record/resource_reference_choice_factory.rb +27 -0
  257. data/spec/factories/record/risk_factory.rb +10 -0
  258. data/spec/factories/record/root_factory.rb +23 -0
  259. data/spec/factories/record/secured_by_factory.rb +10 -0
  260. data/spec/factories/record/service_data_factory.rb +16 -0
  261. data/spec/factories/record/service_factory.rb +27 -0
  262. data/spec/factories/record/signature_factory.rb +50 -0
  263. data/spec/factories/record/standard_factory.rb +37 -0
  264. data/spec/factories/record/step_factory.rb +12 -0
  265. data/spec/factories/record/swid_factory.rb +16 -0
  266. data/spec/factories/record/task_factory.rb +24 -0
  267. data/spec/factories/record/tools_factory.rb +10 -0
  268. data/spec/factories/record/trigger_factory.rb +21 -0
  269. data/spec/factories/record/version_factory.rb +19 -0
  270. data/spec/factories/record/volume_factory.rb +16 -0
  271. data/spec/factories/record/vulnerability_factory.rb +70 -0
  272. data/spec/factories/record/vulnerability_source_factory.rb +10 -0
  273. data/spec/factories/record/workflow_factory.rb +26 -0
  274. data/spec/factories/record/workspace_factory.rb +21 -0
  275. data/spec/factories/record_factory.rb +159 -0
  276. data/spec/fixtures/cipher_info.yml +948 -0
  277. data/spec/fixtures/purl_data.yml +0 -0
  278. data/spec/sbom/cyclone_dx/enum_spec.rb +30 -0
  279. data/spec/sbom/cyclone_dx/field_spec.rb +104 -0
  280. data/spec/sbom/cyclone_dx/pattern_spec.rb +18 -0
  281. data/spec/sbom/cyclone_dx/record/advisory_spec.rb +14 -0
  282. data/spec/sbom/cyclone_dx/record/annotation_spec.rb +31 -0
  283. data/spec/sbom/cyclone_dx/record/attachment_spec.rb +14 -0
  284. data/spec/sbom/cyclone_dx/record/base_spec.rb +363 -0
  285. data/spec/sbom/cyclone_dx/record/cipher_suite_spec.rb +14 -0
  286. data/spec/sbom/cyclone_dx/record/co2_measure_spec.rb +14 -0
  287. data/spec/sbom/cyclone_dx/record/command_spec.rb +14 -0
  288. data/spec/sbom/cyclone_dx/record/commit_spec.rb +14 -0
  289. data/spec/sbom/cyclone_dx/record/component_data_spec.rb +14 -0
  290. data/spec/sbom/cyclone_dx/record/component_evidence_spec.rb +14 -0
  291. data/spec/sbom/cyclone_dx/record/component_identity_evidence_spec.rb +14 -0
  292. data/spec/sbom/cyclone_dx/record/component_spec.rb +14 -0
  293. data/spec/sbom/cyclone_dx/record/composition_spec.rb +14 -0
  294. data/spec/sbom/cyclone_dx/record/condition_spec.rb +14 -0
  295. data/spec/sbom/cyclone_dx/record/copyright_spec.rb +14 -0
  296. data/spec/sbom/cyclone_dx/record/crypto_properties_spec.rb +14 -0
  297. data/spec/sbom/cyclone_dx/record/data_governance_responsible_party_spec.rb +19 -0
  298. data/spec/sbom/cyclone_dx/record/data_governance_spec.rb +14 -0
  299. data/spec/sbom/cyclone_dx/record/declarations_spec.rb +14 -0
  300. data/spec/sbom/cyclone_dx/record/definitions_spec.rb +14 -0
  301. data/spec/sbom/cyclone_dx/record/dependency_spec.rb +14 -0
  302. data/spec/sbom/cyclone_dx/record/diff_spec.rb +14 -0
  303. data/spec/sbom/cyclone_dx/record/energy_consumption_spec.rb +14 -0
  304. data/spec/sbom/cyclone_dx/record/energy_measure_spec.rb +14 -0
  305. data/spec/sbom/cyclone_dx/record/energy_provider_spec.rb +14 -0
  306. data/spec/sbom/cyclone_dx/record/environmental_consideration_spec.rb +14 -0
  307. data/spec/sbom/cyclone_dx/record/event_spec.rb +14 -0
  308. data/spec/sbom/cyclone_dx/record/external_reference_spec.rb +14 -0
  309. data/spec/sbom/cyclone_dx/record/fairness_assessment_spec.rb +14 -0
  310. data/spec/sbom/cyclone_dx/record/formula_spec.rb +14 -0
  311. data/spec/sbom/cyclone_dx/record/graphic_spec.rb +14 -0
  312. data/spec/sbom/cyclone_dx/record/graphics_collection_spec.rb +14 -0
  313. data/spec/sbom/cyclone_dx/record/hash_data_spec.rb +14 -0
  314. data/spec/sbom/cyclone_dx/record/identifiable_action_spec.rb +14 -0
  315. data/spec/sbom/cyclone_dx/record/input_output_ml_parameter_spec.rb +14 -0
  316. data/spec/sbom/cyclone_dx/record/input_spec.rb +14 -0
  317. data/spec/sbom/cyclone_dx/record/issue_spec.rb +14 -0
  318. data/spec/sbom/cyclone_dx/record/license_choice_spec.rb +26 -0
  319. data/spec/sbom/cyclone_dx/record/license_spec.rb +14 -0
  320. data/spec/sbom/cyclone_dx/record/metadata_spec.rb +14 -0
  321. data/spec/sbom/cyclone_dx/record/model_card_spec.rb +14 -0
  322. data/spec/sbom/cyclone_dx/record/note_spec.rb +14 -0
  323. data/spec/sbom/cyclone_dx/record/organizational_contact_spec.rb +14 -0
  324. data/spec/sbom/cyclone_dx/record/organizational_entity_spec.rb +14 -0
  325. data/spec/sbom/cyclone_dx/record/output_spec.rb +14 -0
  326. data/spec/sbom/cyclone_dx/record/parameter_spec.rb +14 -0
  327. data/spec/sbom/cyclone_dx/record/patch_spec.rb +14 -0
  328. data/spec/sbom/cyclone_dx/record/performance_metric_spec.rb +14 -0
  329. data/spec/sbom/cyclone_dx/record/postal_address_spec.rb +14 -0
  330. data/spec/sbom/cyclone_dx/record/property_spec.rb +14 -0
  331. data/spec/sbom/cyclone_dx/record/rating_spec.rb +14 -0
  332. data/spec/sbom/cyclone_dx/record/release_notes_spec.rb +14 -0
  333. data/spec/sbom/cyclone_dx/record/resource_reference_choice_spec.rb +14 -0
  334. data/spec/sbom/cyclone_dx/record/risk_spec.rb +14 -0
  335. data/spec/sbom/cyclone_dx/record/root_spec.rb +14 -0
  336. data/spec/sbom/cyclone_dx/record/secured_by_spec.rb +14 -0
  337. data/spec/sbom/cyclone_dx/record/service_data_spec.rb +14 -0
  338. data/spec/sbom/cyclone_dx/record/service_spec.rb +14 -0
  339. data/spec/sbom/cyclone_dx/record/signature_spec.rb +26 -0
  340. data/spec/sbom/cyclone_dx/record/standard_spec.rb +14 -0
  341. data/spec/sbom/cyclone_dx/record/step_spec.rb +14 -0
  342. data/spec/sbom/cyclone_dx/record/swid_spec.rb +14 -0
  343. data/spec/sbom/cyclone_dx/record/task_spec.rb +14 -0
  344. data/spec/sbom/cyclone_dx/record/tools_spec.rb +14 -0
  345. data/spec/sbom/cyclone_dx/record/trigger_spec.rb +14 -0
  346. data/spec/sbom/cyclone_dx/record/version_spec.rb +14 -0
  347. data/spec/sbom/cyclone_dx/record/volume_spec.rb +14 -0
  348. data/spec/sbom/cyclone_dx/record/vulnerability_source_spec.rb +14 -0
  349. data/spec/sbom/cyclone_dx/record/vulnerability_spec.rb +14 -0
  350. data/spec/sbom/cyclone_dx/record/workflow_spec.rb +14 -0
  351. data/spec/sbom/cyclone_dx/record/workspace_spec.rb +14 -0
  352. data/spec/sbom/cyclone_dx/record_spec.rb +7 -0
  353. data/spec/sbom/cyclone_dx/validator/array_validator_spec.rb +184 -0
  354. data/spec/sbom/cyclone_dx/validator/base_validator_spec.rb +71 -0
  355. data/spec/sbom/cyclone_dx/validator/boolean_validator_spec.rb +26 -0
  356. data/spec/sbom/cyclone_dx/validator/date_time_validator_spec.rb +28 -0
  357. data/spec/sbom/cyclone_dx/validator/email_address_validator_spec.rb +23 -0
  358. data/spec/sbom/cyclone_dx/validator/float_validator_spec.rb +71 -0
  359. data/spec/sbom/cyclone_dx/validator/integer_validator_spec.rb +71 -0
  360. data/spec/sbom/cyclone_dx/validator/record_validator_spec.rb +35 -0
  361. data/spec/sbom/cyclone_dx/validator/string_validator_spec.rb +94 -0
  362. data/spec/sbom/cyclone_dx/validator/union_validator_spec.rb +65 -0
  363. data/spec/sbom/cyclone_dx/validator/uri_validator_spec.rb +21 -0
  364. data/spec/sbom/cyclone_dx/validator_spec.rb +38 -0
  365. data/spec/sbom/cyclone_dx/version_spec.rb +9 -0
  366. data/spec/sbom/cyclone_dx_spec.rb +7 -0
  367. data/spec/spec_helper.rb +39 -0
  368. metadata +377 -6
@@ -0,0 +1,82 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Metadata < Base
5
+ class CustomPhase < Base
6
+ def initialize: (name: String, ?description: String?) -> void
7
+
8
+ def name: () -> String
9
+ def name=: (String) -> String
10
+ def name?: () -> bool
11
+ def name_valid?: () -> bool
12
+
13
+ def description: () -> String?
14
+ def description=: (String?) -> String?
15
+ def description?: () -> bool
16
+ def description_valid?: () -> bool
17
+ end
18
+
19
+ class PreDefinedPhase < Base
20
+ def initialize: (phase: String) -> void
21
+
22
+ def phase: () -> String
23
+ def phase=: (String) -> String
24
+ def phase?: () -> bool
25
+ def phase_valid?: () -> bool
26
+ end
27
+
28
+ def initialize: (?timestamp: dateTime?, ?lifecycles: Array[PreDefinedPhase | CustomPhase]?, ?tools: Tools?, ?manufacturer: OrganizationalEntity?, ?authors: Array[OrganizationalContact]?, ?component: Component?, ?manufacture: OrganizationalEntity?, ?supplier: OrganizationalEntity?, ?licenses: Array[LicenseChoice::licenseChoice]?, ?properties: Array[Property]?) -> void
29
+
30
+ def timestamp: () -> dateTime?
31
+ def timestamp=: (dateTime?) -> dateTime?
32
+ def timestamp?: () -> bool
33
+ def timestamp_valid?: () -> bool
34
+
35
+ def lifecycles: () -> (Array[PreDefinedPhase | CustomPhase])?
36
+ def lifecycles=: (Array[PreDefinedPhase | CustomPhase]?) -> (Array[PreDefinedPhase | CustomPhase])?
37
+ def lifecycles?: () -> bool
38
+ def lifecycles_valid?: () -> bool
39
+
40
+ def tools: () -> Tools?
41
+ def tools=: (Tools?) -> Tools?
42
+ def tools?: () -> bool
43
+ def tools_valid?: () -> bool
44
+
45
+ def manufacturer: () -> OrganizationalEntity?
46
+ def manufacturer=: (OrganizationalEntity?) -> OrganizationalEntity?
47
+ def manufacturer?: () -> bool
48
+ def manufacturer_valid?: () -> bool
49
+
50
+ def authors: () -> Array[OrganizationalContact]?
51
+ def authors=: (Array[OrganizationalContact]?) -> Array[OrganizationalContact]?
52
+ def authors?: () -> bool
53
+ def authors_valid?: () -> bool
54
+
55
+ def component: () -> Component?
56
+ def component=: (Component?) -> Component?
57
+ def component?: () -> bool
58
+ def component_valid?: () -> bool
59
+
60
+ def manufacture: () -> OrganizationalEntity?
61
+ def manufacture=: (OrganizationalEntity?) -> OrganizationalEntity?
62
+ def manufacture?: () -> bool
63
+ def manufacture_valid?: () -> bool
64
+
65
+ def supplier: () -> OrganizationalEntity?
66
+ def supplier=: (OrganizationalEntity?) -> OrganizationalEntity?
67
+ def supplier?: () -> bool
68
+ def supplier_valid?: () -> bool
69
+
70
+ def licenses: () -> Array[LicenseChoice::licenseChoice]?
71
+ def licenses=: (Array[LicenseChoice::licenseChoice]?) -> Array[LicenseChoice::licenseChoice]?
72
+ def licenses?: () -> bool
73
+ def licenses_valid?: () -> bool
74
+
75
+ def properties: () -> Array[Property]?
76
+ def properties=: (Array[Property]?) -> Array[Property]?
77
+ def properties?: () -> bool
78
+ def properties_valid?: () -> bool
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,143 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class ModelCard < Base
5
+ class Considerations < Base
6
+ def initialize: (?users: Array[String]?, ?use_cases: Array[String]?, ?technical_limitations: Array[String]?, ?performance_tradeoffs: Array[String]?, ?ethical_considerations: Array[Risk]?, ?environmental_considerations: EnvironmentalConsideration?, ?fairness_assessments: Array[FairnessAssessment]?) -> void
7
+
8
+ def users: () -> Array[String]?
9
+ def users=: (Array[String]?) -> Array[String]?
10
+ def users?: () -> bool
11
+ def users_valid?: () -> bool
12
+
13
+ def use_cases: () -> Array[String]?
14
+ def use_cases=: (Array[String]?) -> Array[String]?
15
+ def use_cases?: () -> bool
16
+ def use_cases_valid?: () -> bool
17
+
18
+ def technical_limitations: () -> Array[String]?
19
+ def technical_limitations=: (Array[String]?) -> Array[String]?
20
+ def technical_limitations?: () -> bool
21
+ def technical_limitations_valid?: () -> bool
22
+
23
+ def performance_tradeoffs: () -> Array[String]?
24
+ def performance_tradeoffs=: (Array[String]?) -> Array[String]?
25
+ def performance_tradeoffs?: () -> bool
26
+ def performance_tradeoffs_valid?: () -> bool
27
+
28
+ def ethical_considerations: () -> Array[Risk]?
29
+ def ethical_considerations=: (Array[Risk]?) -> Array[Risk]?
30
+ def ethical_considerations?: () -> bool
31
+ def ethical_considerations_valid?: () -> bool
32
+
33
+ def environmental_considerations: () -> EnvironmentalConsideration?
34
+ def environmental_considerations=: (EnvironmentalConsideration?) -> EnvironmentalConsideration?
35
+ def environmental_considerations?: () -> bool
36
+ def environmental_considerations_valid?: () -> bool
37
+
38
+ def fairness_assessments: () -> Array[FairnessAssessment]?
39
+ def fairness_assessments=: (Array[FairnessAssessment]?) -> Array[FairnessAssessment]?
40
+ def fairness_assessments?: () -> bool
41
+ def fairness_assessments_valid?: () -> bool
42
+ end
43
+
44
+ class ModelParameters < Base
45
+ class Approach < Base
46
+ def initialize: (?type: String?) -> void
47
+
48
+ def type: () -> String?
49
+ def type=: (String?) -> String?
50
+ def type?: () -> bool
51
+ def type_valid?: () -> bool
52
+ end
53
+
54
+ class DataReference < Base
55
+ def initialize: (?ref: String?) -> void
56
+
57
+ def ref: () -> String?
58
+ def ref=: (String?) -> String?
59
+ def ref?: () -> bool
60
+ def ref_valid?: () -> bool
61
+ end
62
+ def initialize: (?approach: Approach?, ?task: String?, ?architecture_family: String?, ?model_architecture: String?, ?datasets: Array[ComponentData | DataReference]?, ?inputs: Array[InputOutputMLParameter]?, ?outputs: Array[InputOutputMLParameter]?) -> void
63
+
64
+ def approach: () -> Approach?
65
+ def approach=: (Approach?) -> Approach?
66
+ def approach?: () -> bool
67
+ def approach_valid?: () -> bool
68
+
69
+ def task: () -> String?
70
+ def task=: (String?) -> String?
71
+ def task?: () -> bool
72
+ def task_valid?: () -> bool
73
+
74
+ def architecture_family: () -> String?
75
+ def architecture_family=: (String?) -> String?
76
+ def architecture_family?: () -> bool
77
+ def architecture_family_valid?: () -> bool
78
+
79
+ def model_architecture: () -> String?
80
+ def model_architecture=: (String?) -> String?
81
+ def model_architecture?: () -> bool
82
+ def model_architecture_valid?: () -> bool
83
+
84
+ def datasets: () -> (Array[ComponentData | DataReference])?
85
+ def datasets=: (Array[ComponentData | DataReference]?) -> (Array[ComponentData | DataReference])?
86
+ def datasets?: () -> bool
87
+ def datasets_valid?: () -> bool
88
+
89
+ def inputs: () -> Array[InputOutputMLParameter]?
90
+ def inputs=: (Array[InputOutputMLParameter]?) -> Array[InputOutputMLParameter]?
91
+ def inputs?: () -> bool
92
+ def inputs_valid?: () -> bool
93
+
94
+ def outputs: () -> Array[InputOutputMLParameter]?
95
+ def outputs=: (Array[InputOutputMLParameter]?) -> Array[InputOutputMLParameter]?
96
+ def outputs?: () -> bool
97
+ def outputs_valid?: () -> bool
98
+ end
99
+
100
+ class QuantitativeAnalysis < Base
101
+ def initialize: (?performance_metrics: Array[PerformanceMetric]?, ?graphics: GraphicsCollection?) -> void
102
+
103
+ def performance_metrics: () -> Array[PerformanceMetric]?
104
+ def performance_metrics=: (Array[PerformanceMetric]?) -> Array[PerformanceMetric]?
105
+ def performance_metrics?: () -> bool
106
+ def performance_metrics_valid?: () -> bool
107
+
108
+ def graphics: () -> GraphicsCollection?
109
+ def graphics=: (GraphicsCollection?) -> GraphicsCollection?
110
+ def graphics?: () -> bool
111
+ def graphics_valid?: () -> bool
112
+ end
113
+
114
+ def initialize: (?bom_ref: String?, ?model_parameters: ModelParameters?, ?quantitative_analysis: QuantitativeAnalysis?, ?considerations: Considerations?, ?properties: Array[Property]?) -> void
115
+
116
+ def bom_ref: () -> String?
117
+ def bom_ref=: (String?) -> String?
118
+ def bom_ref?: () -> bool
119
+ def bom_ref_valid?: () -> bool
120
+
121
+ def model_parameters: () -> ModelParameters?
122
+ def model_parameters=: (ModelParameters?) -> ModelParameters?
123
+ def model_parameters?: () -> bool
124
+ def model_parameters_valid?: () -> bool
125
+
126
+ def quantitative_analysis: () -> QuantitativeAnalysis?
127
+ def quantitative_analysis=: (QuantitativeAnalysis?) -> QuantitativeAnalysis?
128
+ def quantitative_analysis?: () -> bool
129
+ def quantitative_analysis_valid?: () -> bool
130
+
131
+ def considerations: () -> Considerations?
132
+ def considerations=: (Considerations?) -> Considerations?
133
+ def considerations?: () -> bool
134
+ def considerations_valid?: () -> bool
135
+
136
+ def properties: () -> Array[Property]?
137
+ def properties=: (Array[Property]?) -> Array[Property]?
138
+ def properties?: () -> bool
139
+ def properties_valid?: () -> bool
140
+ end
141
+ end
142
+ end
143
+ end
@@ -0,0 +1,19 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Note < Base
5
+ def initialize: (?locale: String?, text: Attachment) -> void
6
+
7
+ def locale: () -> String?
8
+ def locale=: (String?) -> String?
9
+ def locale?: () -> bool
10
+ def locale_valid?: () -> bool
11
+
12
+ def text: () -> Attachment
13
+ def text=: (Attachment) -> Attachment
14
+ def text?: () -> bool
15
+ def text_valid?: () -> bool
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,29 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class OrganizationalContact < Base
5
+ def initialize: (?bom_ref: String?, ?name: String?, ?email: emailAddress?, ?phone: String?) -> void
6
+
7
+ def bom_ref: () -> String?
8
+ def bom_ref=: (String?) -> String?
9
+ def bom_ref?: () -> bool
10
+ def bom_ref_valid?: () -> bool
11
+
12
+ def name: () -> String?
13
+ def name=: (String?) -> String?
14
+ def name?: () -> bool
15
+ def name_valid?: () -> bool
16
+
17
+ def email: () -> emailAddress?
18
+ def email=: (emailAddress?) -> emailAddress?
19
+ def email?: () -> bool
20
+ def email_valid?: () -> bool
21
+
22
+ def phone: () -> String?
23
+ def phone=: (String?) -> String?
24
+ def phone?: () -> bool
25
+ def phone_valid?: () -> bool
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,34 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class OrganizationalEntity < Base
5
+ def initialize: (?bom_ref: String?, ?name: String?, ?address: PostalAddress?, ?url: Array[uri]?, ?contact: Array[OrganizationalContact]?) -> void
6
+
7
+ def bom_ref: () -> String?
8
+ def bom_ref=: (String?) -> String?
9
+ def bom_ref?: () -> bool
10
+ def bom_ref_valid?: () -> bool
11
+
12
+ def name: () -> String?
13
+ def name=: (String?) -> String?
14
+ def name?: () -> bool
15
+ def name_valid?: () -> bool
16
+
17
+ def address: () -> PostalAddress?
18
+ def address=: (PostalAddress?) -> PostalAddress?
19
+ def address?: () -> bool
20
+ def address_valid?: () -> bool
21
+
22
+ def url: () -> Array[uri]?
23
+ def url=: (Array[uri]?) -> Array[uri]?
24
+ def url?: () -> bool
25
+ def url_valid?: () -> bool
26
+
27
+ def contact: () -> Array[OrganizationalContact]?
28
+ def contact=: (Array[OrganizationalContact]?) -> Array[OrganizationalContact]?
29
+ def contact?: () -> bool
30
+ def contact_valid?: () -> bool
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,44 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Output < Base
5
+ def initialize: (type: String, ?source: ResourceReferenceChoice?, ?target: ResourceReferenceChoice?, ?resource: ResourceReferenceChoice?, ?data: Attachment?, ?environment_vars: Array[Property | String]?, ?properties: Array[Property]?) -> void
6
+
7
+ def type: () -> String
8
+ def type=: (String) -> String
9
+ def type?: () -> bool
10
+ def type_valid?: () -> bool
11
+
12
+ def source: () -> ResourceReferenceChoice?
13
+ def source=: (ResourceReferenceChoice?) -> ResourceReferenceChoice?
14
+ def source?: () -> bool
15
+ def source_valid?: () -> bool
16
+
17
+ def target: () -> ResourceReferenceChoice?
18
+ def target=: (ResourceReferenceChoice?) -> ResourceReferenceChoice?
19
+ def target?: () -> bool
20
+ def target_valid?: () -> bool
21
+
22
+ def resource: () -> ResourceReferenceChoice?
23
+ def resource=: (ResourceReferenceChoice?) -> ResourceReferenceChoice?
24
+ def resource?: () -> bool
25
+ def resource_valid?: () -> bool
26
+
27
+ def data: () -> Attachment?
28
+ def data=: (Attachment?) -> Attachment?
29
+ def data?: () -> bool
30
+ def data_valid?: () -> bool
31
+
32
+ def environment_vars: () -> (Array[Property | String])?
33
+ def environment_vars=: (Array[Property | String]?) -> (Array[Property | String])?
34
+ def environment_vars?: () -> bool
35
+ def environment_vars_valid?: () -> bool
36
+
37
+ def properties: () -> Array[Property]?
38
+ def properties=: (Array[Property]?) -> Array[Property]?
39
+ def properties?: () -> bool
40
+ def properties_valid?: () -> bool
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,24 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Parameter < Base
5
+ def initialize: (?name: String?, ?value: String?, ?data_type: String?) -> void
6
+
7
+ def name: () -> String?
8
+ def name=: (String?) -> String?
9
+ def name?: () -> bool
10
+ def name_valid?: () -> bool
11
+
12
+ def value: () -> String?
13
+ def value=: (String?) -> String?
14
+ def value?: () -> bool
15
+ def value_valid?: () -> bool
16
+
17
+ def data_type: () -> String?
18
+ def data_type=: (String?) -> String?
19
+ def data_type?: () -> bool
20
+ def data_type_valid?: () -> bool
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Patch < Base
5
+ def initialize: (type: String, ?diff: Diff?, ?resolves: Array[Issue]?) -> void
6
+
7
+ def type: () -> String
8
+ def type=: (String) -> String
9
+ def type?: () -> bool
10
+ def type_valid?: () -> bool
11
+
12
+ def diff: () -> Diff?
13
+ def diff=: (Diff?) -> Diff?
14
+ def diff?: () -> bool
15
+ def diff_valid?: () -> bool
16
+
17
+ def resolves: () -> Array[Issue]?
18
+ def resolves=: (Array[Issue]?) -> Array[Issue]?
19
+ def resolves?: () -> bool
20
+ def resolves_valid?: () -> bool
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,43 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class PerformanceMetric < Base
5
+ class ConfidenceInterval < Base
6
+ def initialize: (?lower_bound: String?, ?upper_bound: String?) -> void
7
+
8
+ def lower_bound: () -> String?
9
+ def lower_bound=: (String?) -> String?
10
+ def lower_bound?: () -> bool
11
+ def lower_bound_valid?: () -> bool
12
+
13
+ def upper_bound: () -> String?
14
+ def upper_bound=: (String?) -> String?
15
+ def upper_bound?: () -> bool
16
+ def upper_bound_valid?: () -> bool
17
+ end
18
+
19
+ def initialize: (?type: String?, ?value: String?, ?slice: String?, ?confidence_interval: ConfidenceInterval?) -> void
20
+
21
+ def type: () -> String?
22
+ def type=: (String?) -> String?
23
+ def type?: () -> bool
24
+ def type_valid?: () -> bool
25
+
26
+ def value: () -> String?
27
+ def value=: (String?) -> String?
28
+ def value?: () -> bool
29
+ def value_valid?: () -> bool
30
+
31
+ def slice: () -> String?
32
+ def slice=: (String?) -> String?
33
+ def slice?: () -> bool
34
+ def slice_valid?: () -> bool
35
+
36
+ def confidence_interval: () -> ConfidenceInterval?
37
+ def confidence_interval=: (ConfidenceInterval?) -> ConfidenceInterval?
38
+ def confidence_interval?: () -> bool
39
+ def confidence_interval_valid?: () -> bool
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,44 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class PostalAddress < Base
5
+ def initialize: (?bom_ref: String?, ?country: String?, ?region: String?, ?locality: String?, ?post_office_box_number: String?, ?postal_code: String?, ?street_address: String?) -> void
6
+
7
+ def bom_ref: () -> String?
8
+ def bom_ref=: (String?) -> String?
9
+ def bom_ref?: () -> bool
10
+ def bom_ref_valid?: () -> bool
11
+
12
+ def country: () -> String?
13
+ def country=: (String?) -> String?
14
+ def country?: () -> bool
15
+ def country_valid?: () -> bool
16
+
17
+ def region: () -> String?
18
+ def region=: (String?) -> String?
19
+ def region?: () -> bool
20
+ def region_valid?: () -> bool
21
+
22
+ def locality: () -> String?
23
+ def locality=: (String?) -> String?
24
+ def locality?: () -> bool
25
+ def locality_valid?: () -> bool
26
+
27
+ def post_office_box_number: () -> String?
28
+ def post_office_box_number=: (String?) -> String?
29
+ def post_office_box_number?: () -> bool
30
+ def post_office_box_number_valid?: () -> bool
31
+
32
+ def postal_code: () -> String?
33
+ def postal_code=: (String?) -> String?
34
+ def postal_code?: () -> bool
35
+ def postal_code_valid?: () -> bool
36
+
37
+ def street_address: () -> String?
38
+ def street_address=: (String?) -> String?
39
+ def street_address?: () -> bool
40
+ def street_address_valid?: () -> bool
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,19 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Property < Base
5
+ def initialize: (name: String, ?value: String?) -> void
6
+
7
+ def name: () -> String
8
+ def name=: (String) -> String
9
+ def name?: () -> bool
10
+ def name_valid?: () -> bool
11
+
12
+ def value: () -> String?
13
+ def value=: (String?) -> String?
14
+ def value?: () -> bool
15
+ def value_valid?: () -> bool
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,39 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Rating < Base
5
+ def initialize: (?source: VulnerabilitySource?, ?score: Float?, ?severity: String?, ?score_method: String?, ?vector: String?, ?justification: String?) -> void
6
+
7
+ def source: () -> VulnerabilitySource?
8
+ def source=: (VulnerabilitySource?) -> VulnerabilitySource?
9
+ def source?: () -> bool
10
+ def source_valid?: () -> bool
11
+
12
+ def score: () -> Float?
13
+ def score=: (Float?) -> Float?
14
+ def score?: () -> bool
15
+ def score_valid?: () -> bool
16
+
17
+ def severity: () -> String?
18
+ def severity=: (String?) -> String?
19
+ def severity?: () -> bool
20
+ def severity_valid?: () -> bool
21
+
22
+ def score_method: () -> String?
23
+ def score_method=: (String?) -> String?
24
+ def score_method?: () -> bool
25
+ def score_method_valid?: () -> bool
26
+
27
+ def vector: () -> String?
28
+ def vector=: (String?) -> String?
29
+ def vector?: () -> bool
30
+ def vector_valid?: () -> bool
31
+
32
+ def justification: () -> String?
33
+ def justification=: (String?) -> String?
34
+ def justification?: () -> bool
35
+ def justification_valid?: () -> bool
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,64 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class ReleaseNotes < Base
5
+ def initialize: (type: String, ?title: String?, ?featured_image: uri?, ?social_image: uri?, ?description: String?, ?timestamp: dateTime?, ?aliases: Array[String]?, ?tags: Array[String]?, ?resolves: Array[Issue]?, ?notes: Array[Note]?, ?properties: Array[Property]?) -> void
6
+
7
+ def type: () -> String
8
+ def type=: (String) -> String
9
+ def type?: () -> bool
10
+ def type_valid?: () -> bool
11
+
12
+ def title: () -> String?
13
+ def title=: (String?) -> String?
14
+ def title?: () -> bool
15
+ def title_valid?: () -> bool
16
+
17
+ def featured_image: () -> uri?
18
+ def featured_image=: (uri?) -> uri?
19
+ def featured_image?: () -> bool
20
+ def featured_image_valid?: () -> bool
21
+
22
+ def social_image: () -> uri?
23
+ def social_image=: (uri?) -> uri?
24
+ def social_image?: () -> bool
25
+ def social_image_valid?: () -> bool
26
+
27
+ def description: () -> String?
28
+ def description=: (String?) -> String?
29
+ def description?: () -> bool
30
+ def description_valid?: () -> bool
31
+
32
+ def timestamp: () -> dateTime?
33
+ def timestamp=: (dateTime?) -> dateTime?
34
+ def timestamp?: () -> bool
35
+ def timestamp_valid?: () -> bool
36
+
37
+ def aliases: () -> Array[String]?
38
+ def aliases=: (Array[String]?) -> Array[String]?
39
+ def aliases?: () -> bool
40
+ def aliases_valid?: () -> bool
41
+
42
+ def tags: () -> Array[String]?
43
+ def tags=: (Array[String]?) -> Array[String]?
44
+ def tags?: () -> bool
45
+ def tags_valid?: () -> bool
46
+
47
+ def resolves: () -> Array[Issue]?
48
+ def resolves=: (Array[Issue]?) -> Array[Issue]?
49
+ def resolves?: () -> bool
50
+ def resolves_valid?: () -> bool
51
+
52
+ def notes: () -> Array[Note]?
53
+ def notes=: (Array[Note]?) -> Array[Note]?
54
+ def notes?: () -> bool
55
+ def notes_valid?: () -> bool
56
+
57
+ def properties: () -> Array[Property]?
58
+ def properties=: (Array[Property]?) -> Array[Property]?
59
+ def properties?: () -> bool
60
+ def properties_valid?: () -> bool
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,19 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class ResourceReferenceChoice < Base
5
+ def initialize: (?ref: String?, ?external_reference: ExternalReference?) -> void
6
+
7
+ def ref: () -> String?
8
+ def ref=: (String?) -> String?
9
+ def ref?: () -> bool
10
+ def ref_valid?: () -> bool
11
+
12
+ def external_reference: () -> ExternalReference?
13
+ def external_reference=: (ExternalReference?) -> ExternalReference?
14
+ def external_reference?: () -> bool
15
+ def external_reference_valid?: () -> bool
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Risk < Base
5
+ def initialize: (?name: String?, ?mitigation_strategy: String?) -> void
6
+
7
+ def name: () -> String?
8
+ def name=: (String?) -> String?
9
+ def name?: () -> bool
10
+ def name_valid?: () -> bool
11
+
12
+ def mitigation_strategy: () -> String?
13
+ def mitigation_strategy=: (String?) -> String?
14
+ def mitigation_strategy?: () -> bool
15
+ def mitigation_strategy_valid?: () -> bool
16
+ end
17
+ end
18
+ end
19
+ end