Class: Oscal::V1_2_1::ByComponent
- Defined in:
- lib/oscal/v1_2_1/all_models.rb
Class Method Summary collapse
Instance Method Summary collapse
- #json_assembly_soa_from_export_export(instance, value) ⇒ Object
- #json_assembly_soa_from_implementation_status_implementation_status(instance, value) ⇒ Object
- #json_assembly_soa_to_export_export(instance, doc) ⇒ Object
- #json_assembly_soa_to_implementation_status_implementation_status(instance, doc) ⇒ Object
- #json_from_remarks_remarks(instance, value) ⇒ Object
- #json_to_remarks_remarks(instance, doc) ⇒ Object
- #validate_constraints ⇒ Object
- #validate_occurrences ⇒ Object
Methods inherited from Base
Class Method Details
.metaschema_constraints ⇒ Object
13607 13608 13609 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 13607 def self. @metaschema_constraints end |
Instance Method Details
#json_assembly_soa_from_export_export(instance, value) ⇒ Object
13539 13540 13541 13542 13543 13544 13545 13546 13547 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 13539 def json_assembly_soa_from_export_export(instance, value) items = case value when Hash then [value] when Array then value else return end parsed = items.map { |item| Oscal::V1_2_1::ByComponentExport.of_json(item.is_a?(Hash) ? item : {}) } instance.instance_variable_set(:@export, parsed) end |
#json_assembly_soa_from_implementation_status_implementation_status(instance, value) ⇒ Object
13529 13530 13531 13532 13533 13534 13535 13536 13537 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 13529 def json_assembly_soa_from_implementation_status_implementation_status(instance, value) items = case value when Hash then [value] when Array then value else return end parsed = items.map { |item| Oscal::V1_2_1::ImplementationStatus.of_json(item.is_a?(Hash) ? item : {}) } instance.instance_variable_set(:@implementation_status, parsed) end |
#json_assembly_soa_to_export_export(instance, doc) ⇒ Object
13549 13550 13551 13552 13553 13554 13555 13556 13557 13558 13559 13560 13561 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 13549 def json_assembly_soa_to_export_export(instance, doc) current = instance.instance_variable_get(:@export) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::ByComponentExport.as_json(item) else item end end doc["export"] = result.length == 1 ? result.first : result end end |
#json_assembly_soa_to_implementation_status_implementation_status(instance, doc) ⇒ Object
13563 13564 13565 13566 13567 13568 13569 13570 13571 13572 13573 13574 13575 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 13563 def json_assembly_soa_to_implementation_status_implementation_status(instance, doc) current = instance.instance_variable_get(:@implementation_status) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::ImplementationStatus.as_json(item) else item end end doc["implementation-status"] = result.length == 1 ? result.first : result end end |
#json_from_remarks_remarks(instance, value) ⇒ Object
13577 13578 13579 13580 13581 13582 13583 13584 13585 13586 13587 13588 13589 13590 13591 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 13577 def json_from_remarks_remarks(instance, value) if value.is_a?(Array) parsed = value.map { |v| Oscal::V1_2_1::Remarks.of_json(v) } instance.instance_variable_set(:@remarks, parsed) elsif value.is_a?(Hash) if value.empty? inst = Oscal::V1_2_1::Remarks.new(content: "") instance.instance_variable_set(:@remarks, inst) else instance.instance_variable_set(:@remarks, Oscal::V1_2_1::Remarks.of_json(value)) end elsif value instance.instance_variable_set(:@remarks, Oscal::V1_2_1::Remarks.of_json(value)) end end |
#json_to_remarks_remarks(instance, doc) ⇒ Object
13593 13594 13595 13596 13597 13598 13599 13600 13601 13602 13603 13604 13605 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 13593 def json_to_remarks_remarks(instance, doc) current = instance.instance_variable_get(:@remarks) if current.is_a?(Array) doc["remarks"] = current.map { |item| item.respond_to?(:content) ? item.content : item } elsif current if current.is_a?(Lutaml::Model::Serializable) doc["remarks"] = Oscal::V1_2_1::Remarks.as_json(current) else val = current.respond_to?(:content) ? current.content : current doc["remarks"] = val end end end |
#validate_constraints ⇒ Object
13611 13612 13613 13614 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 13611 def validate_constraints validator = Metaschema::ConstraintValidator.new validator.validate(self, self.class.) end |
#validate_occurrences ⇒ Object
13616 13617 13618 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 13616 def validate_occurrences Metaschema::ConstraintValidator.validate_occurrences(self, self.class.instance_variable_get(:@occurrence_constraints)) end |