Class: Oscal::V1_2_1::ReviewedControlsControlObjectiveSelection

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



5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
# File 'lib/oscal/v1_2_1/all_models.rb', line 5215

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



5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
# File 'lib/oscal/v1_2_1/all_models.rb', line 5173

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


5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
# File 'lib/oscal/v1_2_1/all_models.rb', line 5259

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



5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
# File 'lib/oscal/v1_2_1/all_models.rb', line 5245

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



5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
# File 'lib/oscal/v1_2_1/all_models.rb', line 5187

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

#json_to_asm_select_objective_by_id_include_objectives(instance, doc) ⇒ Object



5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
# File 'lib/oscal/v1_2_1/all_models.rb', line 5201

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

#json_to_remarks_remarks(instance, doc) ⇒ Object



5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
# File 'lib/oscal/v1_2_1/all_models.rb', line 5231

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



5273
5274
5275
# File 'lib/oscal/v1_2_1/all_models.rb', line 5273

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