Class: Oscal::V1_2_1::ImplementedRequirement

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

.metaschema_constraintsObject



12251
12252
12253
# File 'lib/oscal/v1_2_1/all_models.rb', line 12251

def self.metaschema_constraints
  @metaschema_constraints
end

Instance Method Details

#json_from_remarks_remarks(instance, value) ⇒ Object



12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
# File 'lib/oscal/v1_2_1/all_models.rb', line 12221

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



12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
# File 'lib/oscal/v1_2_1/all_models.rb', line 12237

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_constraintsObject



12255
12256
12257
12258
# File 'lib/oscal/v1_2_1/all_models.rb', line 12255

def validate_constraints
  validator = Metaschema::ConstraintValidator.new
  validator.validate(self, self.class.metaschema_constraints)
end

#validate_occurrencesObject



12260
12261
12262
# File 'lib/oscal/v1_2_1/all_models.rb', line 12260

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