Class: Oscal::V1_2_1::AssessmentResults

Inherits:
Base
  • Object
show all
Defined in:
lib/oscal/v1_2_1/all_models.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

lutaml_default_register

Class Method Details

.of_json(doc, options = {}) ⇒ Object



15752
15753
15754
15755
15756
15757
15758
# File 'lib/oscal/v1_2_1/all_models.rb', line 15752

def self.of_json(doc, options = {})
  if doc.is_a?(Hash) && doc.key?("assessment-results")
    super(doc["assessment-results"], options)
  else
    super(doc, options)
  end
end

.of_yaml(doc, options = {}) ⇒ Object



15765
15766
15767
15768
15769
15770
15771
# File 'lib/oscal/v1_2_1/all_models.rb', line 15765

def self.of_yaml(doc, options = {})
  if doc.is_a?(Hash) && doc.key?("assessment-results")
    super(doc["assessment-results"], options)
  else
    super(doc, options)
  end
end

.to_json(instance, options = {}) ⇒ Object



15760
15761
15762
15763
# File 'lib/oscal/v1_2_1/all_models.rb', line 15760

def self.to_json(instance, options = {})
  json_str = super(instance, options)
  { "assessment-results" => JSON.parse(json_str) }.to_json
end

.to_yaml(instance, options = {}) ⇒ Object



15773
15774
15775
15776
15777
# File 'lib/oscal/v1_2_1/all_models.rb', line 15773

def self.to_yaml(instance, options = {})
  yaml_str = super(instance, options)
  data = YAML.safe_load(yaml_str, permitted_classes: [Date, Time, Symbol])
  { "assessment-results" => data }.to_yaml
end

Instance Method Details

#json_assembly_soa_from_back_matter_back_matter(instance, value) ⇒ Object



15680
15681
15682
15683
15684
15685
15686
15687
15688
# File 'lib/oscal/v1_2_1/all_models.rb', line 15680

def json_assembly_soa_from_back_matter_back_matter(instance, value)
  items = case value
          when Hash then [value]
          when Array then value
          else return
          end
  parsed = items.map { |item| Oscal::V1_2_1::BackMatter.of_json(item.is_a?(Hash) ? item : {}) }
  instance.instance_variable_set(:@back_matter, parsed)
end

#json_assembly_soa_from_import_ap_import_ap(instance, value) ⇒ Object



15728
15729
15730
15731
15732
15733
15734
15735
15736
# File 'lib/oscal/v1_2_1/all_models.rb', line 15728

def json_assembly_soa_from_import_ap_import_ap(instance, value)
  items = case value
          when Hash then [value]
          when Array then value
          else return
          end
  parsed = items.map { |item| Oscal::V1_2_1::ImportAp.of_json(item.is_a?(Hash) ? item : {}) }
  instance.instance_variable_set(:@import_ap, parsed)
end

#json_assembly_soa_from_local_definitions_local_definitions(instance, value) ⇒ Object



15704
15705
15706
15707
15708
15709
15710
15711
15712
# File 'lib/oscal/v1_2_1/all_models.rb', line 15704

def json_assembly_soa_from_local_definitions_local_definitions(instance, value)
  items = case value
          when Hash then [value]
          when Array then value
          else return
          end
  parsed = items.map { |item| Oscal::V1_2_1::AssessmentResultsLocalDefinitions.of_json(item.is_a?(Hash) ? item : {}) }
  instance.instance_variable_set(:@local_definitions, parsed)
end

#json_assembly_soa_from_metadata_metadata(instance, value) ⇒ Object



15656
15657
15658
15659
15660
15661
15662
15663
15664
# File 'lib/oscal/v1_2_1/all_models.rb', line 15656

def (instance, value)
  items = case value
          when Hash then [value]
          when Array then value
          else return
          end
  parsed = items.map { |item| Oscal::V1_2_1::Metadata.of_json(item.is_a?(Hash) ? item : {}) }
  instance.instance_variable_set(:@metadata, parsed)
end

#json_assembly_soa_to_back_matter_back_matter(instance, doc) ⇒ Object



15690
15691
15692
15693
15694
15695
15696
15697
15698
15699
15700
15701
15702
# File 'lib/oscal/v1_2_1/all_models.rb', line 15690

def json_assembly_soa_to_back_matter_back_matter(instance, doc)
  current = instance.instance_variable_get(:@back_matter)
  if current.is_a?(Array)
    result = current.map do |item|
      if item.is_a?(Lutaml::Model::Serializable)
        Oscal::V1_2_1::BackMatter.as_json(item)
      else
        item
      end
    end
    doc["back-matter"] = result.length == 1 ? result.first : result
  end
end

#json_assembly_soa_to_import_ap_import_ap(instance, doc) ⇒ Object



15738
15739
15740
15741
15742
15743
15744
15745
15746
15747
15748
15749
15750
# File 'lib/oscal/v1_2_1/all_models.rb', line 15738

def json_assembly_soa_to_import_ap_import_ap(instance, doc)
  current = instance.instance_variable_get(:@import_ap)
  if current.is_a?(Array)
    result = current.map do |item|
      if item.is_a?(Lutaml::Model::Serializable)
        Oscal::V1_2_1::ImportAp.as_json(item)
      else
        item
      end
    end
    doc["import-ap"] = result.length == 1 ? result.first : result
  end
end

#json_assembly_soa_to_local_definitions_local_definitions(instance, doc) ⇒ Object



15714
15715
15716
15717
15718
15719
15720
15721
15722
15723
15724
15725
15726
# File 'lib/oscal/v1_2_1/all_models.rb', line 15714

def json_assembly_soa_to_local_definitions_local_definitions(instance, doc)
  current = instance.instance_variable_get(:@local_definitions)
  if current.is_a?(Array)
    result = current.map do |item|
      if item.is_a?(Lutaml::Model::Serializable)
        Oscal::V1_2_1::AssessmentResultsLocalDefinitions.as_json(item)
      else
        item
      end
    end
    doc["local-definitions"] = result.length == 1 ? result.first : result
  end
end

#json_assembly_soa_to_metadata_metadata(instance, doc) ⇒ Object



15666
15667
15668
15669
15670
15671
15672
15673
15674
15675
15676
15677
15678
# File 'lib/oscal/v1_2_1/all_models.rb', line 15666

def (instance, doc)
  current = instance.instance_variable_get(:@metadata)
  if current.is_a?(Array)
    result = current.map do |item|
      if item.is_a?(Lutaml::Model::Serializable)
        Oscal::V1_2_1::Metadata.as_json(item)
      else
        item
      end
    end
    doc["metadata"] = result.length == 1 ? result.first : result
  end
end

#to_json(options = {}) ⇒ Object



15779
15780
15781
# File 'lib/oscal/v1_2_1/all_models.rb', line 15779

def to_json(options = {})
  self.class.to_json(self, options)
end

#to_yaml(options = {}) ⇒ Object



15783
15784
15785
# File 'lib/oscal/v1_2_1/all_models.rb', line 15783

def to_yaml(options = {})
  self.class.to_yaml(self, options)
end

#validate_occurrencesObject



15787
15788
15789
# File 'lib/oscal/v1_2_1/all_models.rb', line 15787

def validate_occurrences
  Metaschema::ConstraintValidator.validate_occurrences(self, self.class.instance_variable_get(:@occurrence_constraints))
end