Class: Oscal::V1_2_1::MetadataParty

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_from_email_address_email_addresses(instance, value) ⇒ Object



619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
# File 'lib/oscal/v1_2_1/all_models.rb', line 619

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

#json_from_location_uuid_location_uuids(instance, value) ⇒ Object



635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
# File 'lib/oscal/v1_2_1/all_models.rb', line 635

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

#json_from_remarks_remarks(instance, value) ⇒ Object



561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
# File 'lib/oscal/v1_2_1/all_models.rb', line 561

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



665
666
667
668
669
670
671
672
673
674
675
676
677
# File 'lib/oscal/v1_2_1/all_models.rb', line 665

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


605
606
607
608
609
610
611
612
613
614
615
616
617
# File 'lib/oscal/v1_2_1/all_models.rb', line 605

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

#json_to_asm_property_props(instance, doc) ⇒ Object



591
592
593
594
595
596
597
598
599
600
601
602
603
# File 'lib/oscal/v1_2_1/all_models.rb', line 591

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

#json_to_email_address_email_addresses(instance, doc) ⇒ Object



651
652
653
654
655
656
657
658
659
660
661
662
663
# File 'lib/oscal/v1_2_1/all_models.rb', line 651

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

#json_to_location_uuid_location_uuids(instance, doc) ⇒ Object



679
680
681
682
683
684
685
686
687
688
689
690
691
# File 'lib/oscal/v1_2_1/all_models.rb', line 679

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

#json_to_remarks_remarks(instance, doc) ⇒ Object



577
578
579
580
581
582
583
584
585
586
587
588
589
# File 'lib/oscal/v1_2_1/all_models.rb', line 577

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



693
694
695
# File 'lib/oscal/v1_2_1/all_models.rb', line 693

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