Class: Oscal::V1_2_1::Parameter
- Defined in:
- lib/oscal/v1_2_1/all_models.rb
Class Method Summary collapse
Instance Method Summary collapse
- #json_assembly_soa_from_parameter_selection_select(instance, value) ⇒ Object
- #json_assembly_soa_to_parameter_selection_select(instance, doc) ⇒ Object
- #json_from_parameter_value_values(instance, value) ⇒ Object
- #json_from_remarks_remarks(instance, value) ⇒ Object
- #json_to_parameter_value_values(instance, doc) ⇒ Object
- #json_to_remarks_remarks(instance, doc) ⇒ Object
- #validate_constraints ⇒ Object
- #validate_occurrences ⇒ Object
Methods inherited from Base
Class Method Details
.metaschema_constraints ⇒ Object
9476 9477 9478 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 9476 def self. @metaschema_constraints end |
Instance Method Details
#json_assembly_soa_from_parameter_selection_select(instance, value) ⇒ Object
9422 9423 9424 9425 9426 9427 9428 9429 9430 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 9422 def json_assembly_soa_from_parameter_selection_select(instance, value) items = case value when Hash then [value] when Array then value else return end parsed = items.map { |item| Oscal::V1_2_1::ParameterSelection.of_json(item.is_a?(Hash) ? item : {}) } instance.instance_variable_set(:@parameter_selection, parsed) end |
#json_assembly_soa_to_parameter_selection_select(instance, doc) ⇒ Object
9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 9446 def json_assembly_soa_to_parameter_selection_select(instance, doc) current = instance.instance_variable_get(:@parameter_selection) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::ParameterSelection.as_json(item) else item end end doc["select"] = result.length == 1 ? result.first : result end end |
#json_from_parameter_value_values(instance, value) ⇒ Object
9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 9460 def json_from_parameter_value_values(instance, value) if value.is_a?(Array) parsed = value.map { |v| Oscal::V1_2_1::ParameterValue.of_json(v) } instance.instance_variable_set(:@parameter_value, parsed) elsif value.is_a?(Hash) if value.empty? inst = Oscal::V1_2_1::ParameterValue.new(content: "") instance.instance_variable_set(:@parameter_value, inst) else instance.instance_variable_set(:@parameter_value, Oscal::V1_2_1::ParameterValue.of_json(value)) end elsif value instance.instance_variable_set(:@parameter_value, Oscal::V1_2_1::ParameterValue.of_json(value)) end end |
#json_from_remarks_remarks(instance, value) ⇒ Object
9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 9392 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_parameter_value_values(instance, doc) ⇒ Object
9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 9432 def json_to_parameter_value_values(instance, doc) current = instance.instance_variable_get(:@parameter_value) if current.is_a?(Array) doc["values"] = current.map { |item| item.respond_to?(:content) ? item.content : item } elsif current if current.is_a?(Lutaml::Model::Serializable) doc["values"] = Oscal::V1_2_1::ParameterValue.as_json(current) else val = current.respond_to?(:content) ? current.content : current doc["values"] = val end end end |
#json_to_remarks_remarks(instance, doc) ⇒ Object
9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 9408 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_constraints ⇒ Object
9480 9481 9482 9483 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 9480 def validate_constraints validator = Metaschema::ConstraintValidator.new validator.validate(self, self.class.) end |
#validate_occurrences ⇒ Object
9485 9486 9487 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 9485 def validate_occurrences Metaschema::ConstraintValidator.validate_occurrences(self, self.class.instance_variable_get(:@occurrence_constraints)) end |