Class: Oscal::V1_2_1::AssessmentPlan

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



15589
15590
15591
15592
15593
15594
15595
# File 'lib/oscal/v1_2_1/all_models.rb', line 15589

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

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



15602
15603
15604
15605
15606
15607
15608
# File 'lib/oscal/v1_2_1/all_models.rb', line 15602

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

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



15597
15598
15599
15600
# File 'lib/oscal/v1_2_1/all_models.rb', line 15597

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

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



15610
15611
15612
15613
15614
# File 'lib/oscal/v1_2_1/all_models.rb', line 15610

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

Instance Method Details

#json_assembly_soa_from_assessment_assets_assessment_assets(instance, value) ⇒ Object



15531
15532
15533
15534
15535
15536
15537
15538
15539
# File 'lib/oscal/v1_2_1/all_models.rb', line 15531

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

#json_assembly_soa_from_back_matter_back_matter(instance, value) ⇒ Object



15445
15446
15447
15448
15449
15450
15451
15452
15453
# File 'lib/oscal/v1_2_1/all_models.rb', line 15445

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



15483
15484
15485
15486
15487
15488
15489
15490
15491
# File 'lib/oscal/v1_2_1/all_models.rb', line 15483

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

#json_assembly_soa_from_local_definitions_local_definitions(instance, value) ⇒ Object



15555
15556
15557
15558
15559
15560
15561
15562
15563
# File 'lib/oscal/v1_2_1/all_models.rb', line 15555

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::AssessmentPlanLocalDefinitions.of_json(item.is_a?(Hash) ? item : {}) }
  instance.instance_variable_set(:@local_definitions, parsed)
end

#json_assembly_soa_from_metadata_metadata(instance, value) ⇒ Object



15421
15422
15423
15424
15425
15426
15427
15428
15429
# File 'lib/oscal/v1_2_1/all_models.rb', line 15421

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



15507
15508
15509
15510
15511
15512
15513
15514
15515
# File 'lib/oscal/v1_2_1/all_models.rb', line 15507

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

#json_assembly_soa_from_terms_and_conditions_terms_and_conditions(instance, value) ⇒ Object



15579
15580
15581
15582
15583
15584
15585
15586
15587
# File 'lib/oscal/v1_2_1/all_models.rb', line 15579

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

#json_assembly_soa_to_assessment_assets_assessment_assets(instance, doc) ⇒ Object



15517
15518
15519
15520
15521
15522
15523
15524
15525
15526
15527
15528
15529
# File 'lib/oscal/v1_2_1/all_models.rb', line 15517

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

#json_assembly_soa_to_back_matter_back_matter(instance, doc) ⇒ Object



15455
15456
15457
15458
15459
15460
15461
15462
15463
15464
15465
15466
15467
# File 'lib/oscal/v1_2_1/all_models.rb', line 15455

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



15469
15470
15471
15472
15473
15474
15475
15476
15477
15478
15479
15480
15481
# File 'lib/oscal/v1_2_1/all_models.rb', line 15469

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

#json_assembly_soa_to_local_definitions_local_definitions(instance, doc) ⇒ Object



15541
15542
15543
15544
15545
15546
15547
15548
15549
15550
15551
15552
15553
# File 'lib/oscal/v1_2_1/all_models.rb', line 15541

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::AssessmentPlanLocalDefinitions.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



15431
15432
15433
15434
15435
15436
15437
15438
15439
15440
15441
15442
15443
# File 'lib/oscal/v1_2_1/all_models.rb', line 15431

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

#json_assembly_soa_to_reviewed_controls_reviewed_controls(instance, doc) ⇒ Object



15493
15494
15495
15496
15497
15498
15499
15500
15501
15502
15503
15504
15505
# File 'lib/oscal/v1_2_1/all_models.rb', line 15493

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

#json_assembly_soa_to_terms_and_conditions_terms_and_conditions(instance, doc) ⇒ Object



15565
15566
15567
15568
15569
15570
15571
15572
15573
15574
15575
15576
15577
# File 'lib/oscal/v1_2_1/all_models.rb', line 15565

def json_assembly_soa_to_terms_and_conditions_terms_and_conditions(instance, doc)
  current = instance.instance_variable_get(:@terms_and_conditions)
  if current.is_a?(Array)
    result = current.map do |item|
      if item.is_a?(Lutaml::Model::Serializable)
        Oscal::V1_2_1::AssessmentPlanTermsAndConditions.as_json(item)
      else
        item
      end
    end
    doc["terms-and-conditions"] = result.length == 1 ? result.first : result
  end
end

#to_json(options = {}) ⇒ Object



15616
15617
15618
# File 'lib/oscal/v1_2_1/all_models.rb', line 15616

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

#to_yaml(options = {}) ⇒ Object



15620
15621
15622
# File 'lib/oscal/v1_2_1/all_models.rb', line 15620

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

#validate_occurrencesObject



15624
15625
15626
# File 'lib/oscal/v1_2_1/all_models.rb', line 15624

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