Class: Oscal::V1_2_1::InventoryItemImplementedComponent

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



2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
# File 'lib/oscal/v1_2_1/all_models.rb', line 2534

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


2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
# File 'lib/oscal/v1_2_1/all_models.rb', line 2578

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



2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
# File 'lib/oscal/v1_2_1/all_models.rb', line 2564

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



2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
# File 'lib/oscal/v1_2_1/all_models.rb', line 2520

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

#json_to_remarks_remarks(instance, doc) ⇒ Object



2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
# File 'lib/oscal/v1_2_1/all_models.rb', line 2550

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



2592
2593
2594
# File 'lib/oscal/v1_2_1/all_models.rb', line 2592

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