Class: Oscal::V1_2_1::Characterization

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



15217
15218
15219
15220
15221
15222
15223
15224
15225
# File 'lib/oscal/v1_2_1/all_models.rb', line 15217

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

#json_assembly_soa_to_origin_origin(instance, doc) ⇒ Object



15227
15228
15229
15230
15231
15232
15233
15234
15235
15236
15237
15238
15239
# File 'lib/oscal/v1_2_1/all_models.rb', line 15227

def json_assembly_soa_to_origin_origin(instance, doc)
  current = instance.instance_variable_get(:@origin)
  if current.is_a?(Array)
    result = current.map do |item|
      if item.is_a?(Lutaml::Model::Serializable)
        Oscal::V1_2_1::Origin.as_json(item)
      else
        item
      end
    end
    doc["origin"] = result.length == 1 ? result.first : result
  end
end

#validate_occurrencesObject



15241
15242
15243
# File 'lib/oscal/v1_2_1/all_models.rb', line 15241

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