Class: Oscal::V1_2_1::ReviewedControlsControlSelection

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



5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
# File 'lib/oscal/v1_2_1/all_models.rb', line 5081

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



5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
# File 'lib/oscal/v1_2_1/all_models.rb', line 5067

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


5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
# File 'lib/oscal/v1_2_1/all_models.rb', line 5125

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



5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
# File 'lib/oscal/v1_2_1/all_models.rb', line 5111

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



5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
# File 'lib/oscal/v1_2_1/all_models.rb', line 5039

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

#json_to_asm_select_control_by_id_include_controls(instance, doc) ⇒ Object



5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
# File 'lib/oscal/v1_2_1/all_models.rb', line 5053

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

#json_to_remarks_remarks(instance, doc) ⇒ Object



5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
# File 'lib/oscal/v1_2_1/all_models.rb', line 5097

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



5139
5140
5141
# File 'lib/oscal/v1_2_1/all_models.rb', line 5139

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