Class: Oscal::V1_2_1::MappingProvenance

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

Instance Method Summary collapse

Methods inherited from Base

lutaml_default_register

Instance Method Details

#json_assembly_soa_from_confidence_score_confidence_score(instance, value) ⇒ Object



10681
10682
10683
10684
10685
10686
10687
10688
10689
# File 'lib/oscal/v1_2_1/all_models.rb', line 10681

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

#json_assembly_soa_to_confidence_score_confidence_score(instance, doc) ⇒ Object



10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
# File 'lib/oscal/v1_2_1/all_models.rb', line 10691

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

#json_from_coverage_coverage(instance, value) ⇒ Object



10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
# File 'lib/oscal/v1_2_1/all_models.rb', line 10591

def json_from_coverage_coverage(instance, value)
  if value.is_a?(Array)
    parsed = value.map { |v| Oscal::V1_2_1::Coverage.of_json(v) }
    instance.instance_variable_set(:@coverage, parsed)
  elsif value.is_a?(Hash)
    if value.empty?
      inst = Oscal::V1_2_1::Coverage.new(content: "")
      instance.instance_variable_set(:@coverage, inst)
    else
      instance.instance_variable_set(:@coverage, Oscal::V1_2_1::Coverage.of_json(value))
    end
  elsif value
    instance.instance_variable_set(:@coverage, Oscal::V1_2_1::Coverage.of_json(value))
  end
end

#json_from_mapping_description_mapping_description(instance, value) ⇒ Object



10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
# File 'lib/oscal/v1_2_1/all_models.rb', line 10621

def json_from_mapping_description_mapping_description(instance, value)
  if value.is_a?(Array)
    parsed = value.map { |v| Oscal::V1_2_1::MappingDescription.of_json(v) }
    instance.instance_variable_set(:@mapping_description, parsed)
  elsif value.is_a?(Hash)
    if value.empty?
      inst = Oscal::V1_2_1::MappingDescription.new(content: "")
      instance.instance_variable_set(:@mapping_description, inst)
    else
      instance.instance_variable_set(:@mapping_description, Oscal::V1_2_1::MappingDescription.of_json(value))
    end
  elsif value
    instance.instance_variable_set(:@mapping_description, Oscal::V1_2_1::MappingDescription.of_json(value))
  end
end

#json_from_remarks_remarks(instance, value) ⇒ Object



10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
# File 'lib/oscal/v1_2_1/all_models.rb', line 10651

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_coverage_coverage(instance, doc) ⇒ Object



10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
# File 'lib/oscal/v1_2_1/all_models.rb', line 10607

def json_to_coverage_coverage(instance, doc)
  current = instance.instance_variable_get(:@coverage)
  if current.is_a?(Array)
    doc["coverage"] = current.map { |item| item.respond_to?(:content) ? item.content : item }
  elsif current
    if current.is_a?(Lutaml::Model::Serializable)
      doc["coverage"] = Oscal::V1_2_1::Coverage.as_json(current)
    else
      val = current.respond_to?(:content) ? current.content : current
      doc["coverage"] = val
    end
  end
end

#json_to_mapping_description_mapping_description(instance, doc) ⇒ Object



10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
# File 'lib/oscal/v1_2_1/all_models.rb', line 10637

def json_to_mapping_description_mapping_description(instance, doc)
  current = instance.instance_variable_get(:@mapping_description)
  if current.is_a?(Array)
    doc["mapping-description"] = current.map { |item| item.respond_to?(:content) ? item.content : item }
  elsif current
    if current.is_a?(Lutaml::Model::Serializable)
      doc["mapping-description"] = Oscal::V1_2_1::MappingDescription.as_json(current)
    else
      val = current.respond_to?(:content) ? current.content : current
      doc["mapping-description"] = val
    end
  end
end

#json_to_remarks_remarks(instance, doc) ⇒ Object



10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
# File 'lib/oscal/v1_2_1/all_models.rb', line 10667

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_occurrencesObject



10705
10706
10707
# File 'lib/oscal/v1_2_1/all_models.rb', line 10705

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