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,34 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Commit < Base
5
+ def initialize: (?uid: String?, ?url: uri?, ?author: IdentifiableAction?, ?committer: IdentifiableAction?, ?message: String?) -> void
6
+
7
+ def uid: () -> String?
8
+ def uid=: (String?) -> String?
9
+ def uid?: () -> bool
10
+ def uid_valid?: () -> bool
11
+
12
+ def url: () -> uri?
13
+ def url=: (uri?) -> uri?
14
+ def url?: () -> bool
15
+ def url_valid?: () -> bool
16
+
17
+ def author: () -> IdentifiableAction?
18
+ def author=: (IdentifiableAction?) -> IdentifiableAction?
19
+ def author?: () -> bool
20
+ def author_valid?: () -> bool
21
+
22
+ def committer: () -> IdentifiableAction?
23
+ def committer=: (IdentifiableAction?) -> IdentifiableAction?
24
+ def committer?: () -> bool
25
+ def committer_valid?: () -> bool
26
+
27
+ def message: () -> String?
28
+ def message=: (String?) -> String?
29
+ def message?: () -> bool
30
+ def message_valid?: () -> bool
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,203 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Component < Base
5
+ class Pedigree < Base
6
+ def initialize: (?ancestors: Array[Component]?, ?descendants: Array[Component]?, ?variants: Array[Component]?, ?commits: Array[Commit]?, ?patches: Array[Patch]?, ?notes: String?) -> void
7
+
8
+ def ancestors: () -> Array[Component]?
9
+ def ancestors=: (Array[Component]?) -> Array[Component]?
10
+ def ancestors?: () -> bool
11
+ def ancestors_valid?: () -> bool
12
+
13
+ def descendants: () -> Array[Component]?
14
+ def descendants=: (Array[Component]?) -> Array[Component]?
15
+ def descendants?: () -> bool
16
+ def descendants_valid?: () -> bool
17
+
18
+ def variants: () -> Array[Component]?
19
+ def variants=: (Array[Component]?) -> Array[Component]?
20
+ def variants?: () -> bool
21
+ def variants_valid?: () -> bool
22
+
23
+ def commits: () -> Array[Commit]?
24
+ def commits=: (Array[Commit]?) -> Array[Commit]?
25
+ def commits?: () -> bool
26
+ def commits_valid?: () -> bool
27
+
28
+ def patches: () -> Array[Patch]?
29
+ def patches=: (Array[Patch]?) -> Array[Patch]?
30
+ def patches?: () -> bool
31
+ def patches_valid?: () -> bool
32
+
33
+ def notes: () -> String?
34
+ def notes=: (String?) -> String?
35
+ def notes?: () -> bool
36
+ def notes_valid?: () -> bool
37
+ end
38
+
39
+ def initialize: (type: String, ?mime_type: String?, ?bom_ref: String?, ?supplier: OrganizationalEntity?, ?manufacturer: OrganizationalEntity?, ?authors: Array[OrganizationalContact]?, ?publisher: String?, ?group: String?, name: String, ?version: String?, ?description: String?, ?scope: String?, ?hashes: Array[HashData]?, ?licenses: Array[LicenseChoice::licenseChoice]?, ?copyright: String?, ?cpe: String?, ?purl: String?, ?omnibor_id: Array[String]?, ?swhid: Array[String]?, ?swid: SWID?, ?modified: bool?, ?pedigree: Pedigree?, ?external_references: Array[ExternalReference]?, ?components: Array[Component]?, ?evidence: ComponentEvidence?, ?release_notes: ReleaseNotes?, ?model_card: ModelCard?, ?data: Array[ComponentData]?, ?crypto_properties: CryptoProperties?, ?properties: Array[Property]?, ?tags: Array[String]?, ?signature: Signature::signatureChoice?) -> void
40
+
41
+ def type: () -> String
42
+ def type=: (String) -> String
43
+ def type?: () -> bool
44
+ def type_valid?: () -> bool
45
+
46
+ def mime_type: () -> String?
47
+ def mime_type=: (String?) -> String?
48
+ def mime_type?: () -> bool
49
+ def mime_type_valid?: () -> bool
50
+
51
+ def bom_ref: () -> String?
52
+ def bom_ref=: (String?) -> String?
53
+ def bom_ref?: () -> bool
54
+ def bom_ref_valid?: () -> bool
55
+
56
+ def supplier: () -> OrganizationalEntity?
57
+ def supplier=: (OrganizationalEntity?) -> OrganizationalEntity?
58
+ def supplier?: () -> bool
59
+ def supplier_valid?: () -> bool
60
+
61
+ def manufacturer: () -> OrganizationalEntity?
62
+ def manufacturer=: (OrganizationalEntity?) -> OrganizationalEntity?
63
+ def manufacturer?: () -> bool
64
+ def manufacturer_valid?: () -> bool
65
+
66
+ def authors: () -> Array[OrganizationalContact]?
67
+ def authors=: (Array[OrganizationalContact]?) -> Array[OrganizationalContact]?
68
+ def authors?: () -> bool
69
+ def authors_valid?: () -> bool
70
+
71
+ def publisher: () -> String?
72
+ def publisher=: (String?) -> String?
73
+ def publisher?: () -> bool
74
+ def publisher_valid?: () -> bool
75
+
76
+ def group: () -> String?
77
+ def group=: (String?) -> String?
78
+ def group?: () -> bool
79
+ def group_valid?: () -> bool
80
+
81
+ def name: () -> String
82
+ def name=: (String) -> String
83
+ def name?: () -> bool
84
+ def name_valid?: () -> bool
85
+
86
+ def version: () -> String?
87
+ def version=: (String?) -> String?
88
+ def version?: () -> bool
89
+ def version_valid?: () -> bool
90
+
91
+ def description: () -> String?
92
+ def description=: (String?) -> String?
93
+ def description?: () -> bool
94
+ def description_valid?: () -> bool
95
+
96
+ def scope: () -> String?
97
+ def scope=: (String?) -> String?
98
+ def scope?: () -> bool
99
+ def scope_valid?: () -> bool
100
+
101
+ def hashes: () -> Array[HashData]?
102
+ def hashes=: (Array[HashData]?) -> Array[HashData]?
103
+ def hashes?: () -> bool
104
+ def hashes_valid?: () -> bool
105
+
106
+ def licenses: () -> Array[LicenseChoice::licenseChoice]?
107
+ def licenses=: (Array[LicenseChoice::licenseChoice]?) -> Array[LicenseChoice::licenseChoice]?
108
+ def licenses?: () -> bool
109
+ def licenses_valid?: () -> bool
110
+
111
+ def copyright: () -> String?
112
+ def copyright=: (String?) -> String?
113
+ def copyright?: () -> bool
114
+ def copyright_valid?: () -> bool
115
+
116
+ def cpe: () -> String?
117
+ def cpe=: (String?) -> String?
118
+ def cpe?: () -> bool
119
+ def cpe_valid?: () -> bool
120
+
121
+ def purl: () -> String?
122
+ def purl=: (String?) -> String?
123
+ def purl?: () -> bool
124
+ def purl_valid?: () -> bool
125
+
126
+ def omnibor_id: () -> Array[String]?
127
+ def omnibor_id=: (Array[String]?) -> Array[String]?
128
+ def omnibor_id?: () -> bool
129
+ def omnibor_id_valid?: () -> bool
130
+
131
+ def swhid: () -> Array[String]?
132
+ def swhid=: (Array[String]?) -> Array[String]?
133
+ def swhid?: () -> bool
134
+ def swhid_valid?: () -> bool
135
+
136
+ def swid: () -> SWID?
137
+ def swid=: (SWID?) -> SWID?
138
+ def swid?: () -> bool
139
+ def swid_valid?: () -> bool
140
+
141
+ def modified: () -> bool?
142
+ def modified=: (bool?) -> bool?
143
+ def modified?: () -> bool
144
+ def modified_valid?: () -> bool
145
+
146
+ def pedigree: () -> Pedigree?
147
+ def pedigree=: (Pedigree?) -> Pedigree?
148
+ def pedigree?: () -> bool
149
+ def pedigree_valid?: () -> bool
150
+
151
+ def external_references: () -> Array[ExternalReference]?
152
+ def external_references=: (Array[ExternalReference]?) -> Array[ExternalReference]?
153
+ def external_references?: () -> bool
154
+ def external_references_valid?: () -> bool
155
+
156
+ def components: () -> Array[Component]?
157
+ def components=: (Array[Component]?) -> Array[Component]?
158
+ def components?: () -> bool
159
+ def components_valid?: () -> bool
160
+
161
+ def evidence: () -> ComponentEvidence?
162
+ def evidence=: (ComponentEvidence?) -> ComponentEvidence?
163
+ def evidence?: () -> bool
164
+ def evidence_valid?: () -> bool
165
+
166
+ def release_notes: () -> ReleaseNotes?
167
+ def release_notes=: (ReleaseNotes?) -> ReleaseNotes?
168
+ def release_notes?: () -> bool
169
+ def release_notes_valid?: () -> bool
170
+
171
+ def model_card: () -> ModelCard?
172
+ def model_card=: (ModelCard?) -> ModelCard?
173
+ def model_card?: () -> bool
174
+ def model_card_valid?: () -> bool
175
+
176
+ def data: () -> Array[ComponentData]?
177
+ def data=: (Array[ComponentData]?) -> Array[ComponentData]?
178
+ def data?: () -> bool
179
+ def data_valid?: () -> bool
180
+
181
+ def crypto_properties: () -> CryptoProperties?
182
+ def crypto_properties=: (CryptoProperties?) -> CryptoProperties?
183
+ def crypto_properties?: () -> bool
184
+ def crypto_properties_valid?: () -> bool
185
+
186
+ def properties: () -> Array[Property]?
187
+ def properties=: (Array[Property]?) -> Array[Property]?
188
+ def properties?: () -> bool
189
+ def properties_valid?: () -> bool
190
+
191
+ def tags: () -> Array[String]?
192
+ def tags=: (Array[String]?) -> Array[String]?
193
+ def tags?: () -> bool
194
+ def tags_valid?: () -> bool
195
+
196
+ def signature: () -> Signature::signatureChoice?
197
+ def signature=: (Signature::signatureChoice?) -> Signature::signatureChoice?
198
+ def signature?: () -> bool
199
+ def signature_valid?: () -> bool
200
+ end
201
+ end
202
+ end
203
+ end
@@ -0,0 +1,73 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class ComponentData < Base
5
+ class Content < Base
6
+ def initialize: (?attachment: Attachment?, ?url: uri?, ?properties: Array[Property]?) -> void
7
+
8
+ def attachment: () -> Attachment?
9
+ def attachment=: (Attachment?) -> Attachment?
10
+ def attachment?: () -> bool
11
+ def attachment_valid?: () -> bool
12
+
13
+ def url: () -> uri?
14
+ def url=: (uri?) -> uri?
15
+ def url?: () -> bool
16
+ def url_valid?: () -> bool
17
+
18
+ def properties: () -> Array[Property]?
19
+ def properties=: (Array[Property]?) -> Array[Property]?
20
+ def properties?: () -> bool
21
+ def properties_valid?: () -> bool
22
+ end
23
+
24
+ def initialize: (?bom_ref: String?, type: String, ?name: String?, ?contents: Content?, ?classification: String?, ?sensitive_data: Array[String]?, ?graphics: GraphicsCollection?, ?description: String?, ?governance: DataGovernance?) -> void
25
+
26
+ def bom_ref: () -> String?
27
+ def bom_ref=: (String?) -> String?
28
+ def bom_ref?: () -> bool
29
+ def bom_ref_valid?: () -> bool
30
+
31
+ def type: () -> String
32
+ def type=: (String) -> String
33
+ def type?: () -> bool
34
+ def type_valid?: () -> bool
35
+
36
+ def name: () -> String?
37
+ def name=: (String?) -> String?
38
+ def name?: () -> bool
39
+ def name_valid?: () -> bool
40
+
41
+ def contents: () -> Content?
42
+ def contents=: (Content?) -> Content?
43
+ def contents?: () -> bool
44
+ def contents_valid?: () -> bool
45
+
46
+ def classification: () -> String?
47
+ def classification=: (String?) -> String?
48
+ def classification?: () -> bool
49
+ def classification_valid?: () -> bool
50
+
51
+ def sensitive_data: () -> Array[String]?
52
+ def sensitive_data=: (Array[String]?) -> Array[String]?
53
+ def sensitive_data?: () -> bool
54
+ def sensitive_data_valid?: () -> bool
55
+
56
+ def graphics: () -> GraphicsCollection?
57
+ def graphics=: (GraphicsCollection?) -> GraphicsCollection?
58
+ def graphics?: () -> bool
59
+ def graphics_valid?: () -> bool
60
+
61
+ def description: () -> String?
62
+ def description=: (String?) -> String?
63
+ def description?: () -> bool
64
+ def description_valid?: () -> bool
65
+
66
+ def governance: () -> DataGovernance?
67
+ def governance=: (DataGovernance?) -> DataGovernance?
68
+ def governance?: () -> bool
69
+ def governance_valid?: () -> bool
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,115 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class ComponentEvidence < Base
5
+ class Callstack < Base
6
+ class Frame < Base
7
+ def initialize: (?package: String?, source_module: String, ?function: String?, ?parameters: Array[String]?, ?line: Integer?, ?column: Integer?, ?full_filename: String?) -> void
8
+
9
+ def package: () -> String?
10
+ def package=: (String?) -> String?
11
+ def package?: () -> bool
12
+ def package_valid?: () -> bool
13
+
14
+ def source_module: () -> String
15
+ def source_module=: (String) -> String
16
+ def source_module?: () -> bool
17
+ def source_module_valid?: () -> bool
18
+
19
+ def function: () -> String?
20
+ def function=: (String?) -> String?
21
+ def function?: () -> bool
22
+ def function_valid?: () -> bool
23
+
24
+ def parameters: () -> Array[String]?
25
+ def parameters=: (Array[String]?) -> Array[String]?
26
+ def parameters?: () -> bool
27
+ def parameters_valid?: () -> bool
28
+
29
+ def line: () -> Integer?
30
+ def line=: (Integer?) -> Integer?
31
+ def line?: () -> bool
32
+ def line_valid?: () -> bool
33
+
34
+ def column: () -> Integer?
35
+ def column=: (Integer?) -> Integer?
36
+ def column?: () -> bool
37
+ def column_valid?: () -> bool
38
+
39
+ def full_filename: () -> String?
40
+ def full_filename=: (String?) -> String?
41
+ def full_filename?: () -> bool
42
+ def full_filename_valid?: () -> bool
43
+ end
44
+ def initialize: (?frames: Array[Frame]?) -> void
45
+
46
+ def frames: () -> Array[Frame]?
47
+ def frames=: (Array[Frame]?) -> Array[Frame]?
48
+ def frames?: () -> bool
49
+ def frames_valid?: () -> bool
50
+ end
51
+
52
+ class Occurrence < Base
53
+ def initialize: (?bom_ref: String?, location: String, ?line: Integer?, ?offset: Integer?, ?symbol: String?, ?additional_context: String?) -> void
54
+
55
+ def bom_ref: () -> String?
56
+ def bom_ref=: (String?) -> String?
57
+ def bom_ref?: () -> bool
58
+ def bom_ref_valid?: () -> bool
59
+
60
+ def location: () -> String
61
+ def location=: (String) -> String
62
+ def location?: () -> bool
63
+ def location_valid?: () -> bool
64
+
65
+ def line: () -> Integer?
66
+ def line=: (Integer?) -> Integer?
67
+ def line?: () -> bool
68
+ def line_valid?: () -> bool
69
+
70
+ def offset: () -> Integer?
71
+ def offset=: (Integer?) -> Integer?
72
+ def offset?: () -> bool
73
+ def offset_valid?: () -> bool
74
+
75
+ def symbol: () -> String?
76
+ def symbol=: (String?) -> String?
77
+ def symbol?: () -> bool
78
+ def symbol_valid?: () -> bool
79
+
80
+ def additional_context: () -> String?
81
+ def additional_context=: (String?) -> String?
82
+ def additional_context?: () -> bool
83
+ def additional_context_valid?: () -> bool
84
+ end
85
+
86
+ def initialize: (?identity: Array[ComponentIdentityEvidence]?, ?occurrences: Array[Occurrence]?, ?callstack: Callstack?, ?licenses: Array[LicenseChoice::licenseChoice]?, ?copyright: Array[Copyright]?) -> void
87
+
88
+ def identity: () -> Array[ComponentIdentityEvidence]?
89
+ def identity=: (Array[ComponentIdentityEvidence]?) -> Array[ComponentIdentityEvidence]?
90
+ def identity?: () -> bool
91
+ def identity_valid?: () -> bool
92
+
93
+ def occurrences: () -> Array[Occurrence]?
94
+ def occurrences=: (Array[Occurrence]?) -> Array[Occurrence]?
95
+ def occurrences?: () -> bool
96
+ def occurrences_valid?: () -> bool
97
+
98
+ def callstack: () -> Callstack?
99
+ def callstack=: (Callstack?) -> Callstack?
100
+ def callstack?: () -> bool
101
+ def callstack_valid?: () -> bool
102
+
103
+ def licenses: () -> Array[LicenseChoice::licenseChoice]?
104
+ def licenses=: (Array[LicenseChoice::licenseChoice]?) -> Array[LicenseChoice::licenseChoice]?
105
+ def licenses?: () -> bool
106
+ def licenses_valid?: () -> bool
107
+
108
+ def copyright: () -> Array[Copyright]?
109
+ def copyright=: (Array[Copyright]?) -> Array[Copyright]?
110
+ def copyright?: () -> bool
111
+ def copyright_valid?: () -> bool
112
+ end
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,53 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class ComponentIdentityEvidence < Base
5
+ class Method < Base
6
+ def initialize: (technique: String, confidence: Float, ?value: String?) -> void
7
+
8
+ def technique: () -> String
9
+ def technique=: (String) -> String
10
+ def technique?: () -> bool
11
+ def technique_valid?: () -> bool
12
+
13
+ def confidence: () -> Float
14
+ def confidence=: (Float) -> Float
15
+ def confidence?: () -> bool
16
+ def confidence_valid?: () -> bool
17
+
18
+ def value: () -> String?
19
+ def value=: (String?) -> String?
20
+ def value?: () -> bool
21
+ def value_valid?: () -> bool
22
+ end
23
+
24
+ def initialize: (field: String, ?confidence: Float?, ?concluded_value: String?, ?methods_used: Array[Method]?, ?tools: Array[String]?) -> void
25
+
26
+ def field: () -> String
27
+ def field=: (String) -> String
28
+ def field?: () -> bool
29
+ def field_valid?: () -> bool
30
+
31
+ def confidence: () -> Float?
32
+ def confidence=: (Float?) -> Float?
33
+ def confidence?: () -> bool
34
+ def confidence_valid?: () -> bool
35
+
36
+ def concluded_value: () -> String?
37
+ def concluded_value=: (String?) -> String?
38
+ def concluded_value?: () -> bool
39
+ def concluded_value_valid?: () -> bool
40
+
41
+ def methods_used: () -> Array[Method]?
42
+ def methods_used=: (Array[Method]?) -> Array[Method]?
43
+ def methods_used?: () -> bool
44
+ def methods_used_valid?: () -> bool
45
+
46
+ def tools: () -> Array[String]?
47
+ def tools=: (Array[String]?) -> Array[String]?
48
+ def tools?: () -> bool
49
+ def tools_valid?: () -> bool
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,39 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Composition < Base
5
+ def initialize: (?bom_ref: String?, ?aggregate: String?, ?assemblies: Array[String]?, ?dependencies: Array[Component | Service]?, ?vulnerabilities: Array[Vulnerability]?, ?signature: Signature::signatureChoice?) -> 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 aggregate: () -> String?
13
+ def aggregate=: (String?) -> String?
14
+ def aggregate?: () -> bool
15
+ def aggregate_valid?: () -> bool
16
+
17
+ def assemblies: () -> Array[String]?
18
+ def assemblies=: (Array[String]?) -> Array[String]?
19
+ def assemblies?: () -> bool
20
+ def assemblies_valid?: () -> bool
21
+
22
+ def dependencies: () -> (Array[Component | Service])?
23
+ def dependencies=: (Array[Component | Service]?) -> (Array[Component | Service])?
24
+ def dependencies?: () -> bool
25
+ def dependencies_valid?: () -> bool
26
+
27
+ def vulnerabilities: () -> Array[Vulnerability]?
28
+ def vulnerabilities=: (Array[Vulnerability]?) -> Array[Vulnerability]?
29
+ def vulnerabilities?: () -> bool
30
+ def vulnerabilities_valid?: () -> bool
31
+
32
+ def signature: () -> Signature::signatureChoice?
33
+ def signature=: (Signature::signatureChoice?) -> Signature::signatureChoice?
34
+ def signature?: () -> bool
35
+ def signature_valid?: () -> bool
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,24 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Condition < Base
5
+ def initialize: (?description: String?, ?expression: String?, ?properties: Array[Property]?) -> void
6
+
7
+ def description: () -> String?
8
+ def description=: (String?) -> String?
9
+ def description?: () -> bool
10
+ def description_valid?: () -> bool
11
+
12
+ def expression: () -> String?
13
+ def expression=: (String?) -> String?
14
+ def expression?: () -> bool
15
+ def expression_valid?: () -> bool
16
+
17
+ def properties: () -> Array[Property]?
18
+ def properties=: (Array[Property]?) -> Array[Property]?
19
+ def properties?: () -> bool
20
+ def properties_valid?: () -> bool
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,14 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Copyright < Base
5
+ def initialize: (text: String) -> void
6
+
7
+ def text: () -> String
8
+ def text=: (String) -> String
9
+ def text?: () -> bool
10
+ def text_valid?: () -> bool
11
+ end
12
+ end
13
+ end
14
+ end