Class: Oscal::V1_2_1::Metadata
- Defined in:
- lib/oscal/v1_2_1/all_models.rb
Class Method Summary collapse
Instance Method Summary collapse
- #json_from_last_modified_last_modified(instance, value) ⇒ Object
- #json_from_oscal_version_oscal_version(instance, value) ⇒ Object
- #json_from_published_published(instance, value) ⇒ Object
- #json_from_remarks_remarks(instance, value) ⇒ Object
- #json_from_version_version(instance, value) ⇒ Object
- #json_soa_from_document_id_document_ids(instance, value) ⇒ Object
- #json_soa_to_document_id_document_ids(instance, doc) ⇒ Object
- #json_to_last_modified_last_modified(instance, doc) ⇒ Object
- #json_to_oscal_version_oscal_version(instance, doc) ⇒ Object
- #json_to_published_published(instance, doc) ⇒ Object
- #json_to_remarks_remarks(instance, doc) ⇒ Object
- #json_to_version_version(instance, doc) ⇒ Object
- #validate_constraints ⇒ Object
- #validate_occurrences ⇒ Object
Methods inherited from Base
Class Method Details
.metaschema_constraints ⇒ Object
8835 8836 8837 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 8835 def self. @metaschema_constraints end |
Instance Method Details
#json_from_last_modified_last_modified(instance, value) ⇒ Object
8758 8759 8760 8761 8762 8763 8764 8765 8766 8767 8768 8769 8770 8771 8772 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 8758 def json_from_last_modified_last_modified(instance, value) if value.is_a?(Array) parsed = value.map { |v| Oscal::V1_2_1::LastModified.of_json(v) } instance.instance_variable_set(:@last_modified, parsed) elsif value.is_a?(Hash) if value.empty? inst = Oscal::V1_2_1::LastModified.new(content: "") instance.instance_variable_set(:@last_modified, inst) else instance.instance_variable_set(:@last_modified, Oscal::V1_2_1::LastModified.of_json(value)) end elsif value instance.instance_variable_set(:@last_modified, Oscal::V1_2_1::LastModified.of_json(value)) end end |
#json_from_oscal_version_oscal_version(instance, value) ⇒ Object
8728 8729 8730 8731 8732 8733 8734 8735 8736 8737 8738 8739 8740 8741 8742 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 8728 def json_from_oscal_version_oscal_version(instance, value) if value.is_a?(Array) parsed = value.map { |v| Oscal::V1_2_1::OscalVersion.of_json(v) } instance.instance_variable_set(:@oscal_version, parsed) elsif value.is_a?(Hash) if value.empty? inst = Oscal::V1_2_1::OscalVersion.new(content: "") instance.instance_variable_set(:@oscal_version, inst) else instance.instance_variable_set(:@oscal_version, Oscal::V1_2_1::OscalVersion.of_json(value)) end elsif value instance.instance_variable_set(:@oscal_version, Oscal::V1_2_1::OscalVersion.of_json(value)) end end |
#json_from_published_published(instance, value) ⇒ Object
8654 8655 8656 8657 8658 8659 8660 8661 8662 8663 8664 8665 8666 8667 8668 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 8654 def json_from_published_published(instance, value) if value.is_a?(Array) parsed = value.map { |v| Oscal::V1_2_1::Published.of_json(v) } instance.instance_variable_set(:@published, parsed) elsif value.is_a?(Hash) if value.empty? inst = Oscal::V1_2_1::Published.new(content: "") instance.instance_variable_set(:@published, inst) else instance.instance_variable_set(:@published, Oscal::V1_2_1::Published.of_json(value)) end elsif value instance.instance_variable_set(:@published, Oscal::V1_2_1::Published.of_json(value)) end end |
#json_from_remarks_remarks(instance, value) ⇒ Object
8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 8774 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_from_version_version(instance, value) ⇒ Object
8698 8699 8700 8701 8702 8703 8704 8705 8706 8707 8708 8709 8710 8711 8712 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 8698 def json_from_version_version(instance, value) if value.is_a?(Array) parsed = value.map { |v| Oscal::V1_2_1::Version.of_json(v) } instance.instance_variable_set(:@version, parsed) elsif value.is_a?(Hash) if value.empty? inst = Oscal::V1_2_1::Version.new(content: "") instance.instance_variable_set(:@version, inst) else instance.instance_variable_set(:@version, Oscal::V1_2_1::Version.of_json(value)) end elsif value instance.instance_variable_set(:@version, Oscal::V1_2_1::Version.of_json(value)) end end |
#json_soa_from_document_id_document_ids(instance, value) ⇒ Object
8804 8805 8806 8807 8808 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 8804 def json_soa_from_document_id_document_ids(instance, value) items = case value when Hash then [value] when Array then value when String then [value] else return end parsed = items.map do |item| case item when Hash then Oscal::V1_2_1::DocumentId.of_json(item) when String then Oscal::V1_2_1::DocumentId.of_json(item) else item end end instance.instance_variable_set(:@document_id, parsed) end |
#json_soa_to_document_id_document_ids(instance, doc) ⇒ Object
8821 8822 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 8833 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 8821 def json_soa_to_document_id_document_ids(instance, doc) current = instance.instance_variable_get(:@document_id) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::DocumentId.as_json(item) else item end end doc["document-ids"] = result.length == 1 ? result.first : result end end |
#json_to_last_modified_last_modified(instance, doc) ⇒ Object
8684 8685 8686 8687 8688 8689 8690 8691 8692 8693 8694 8695 8696 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 8684 def json_to_last_modified_last_modified(instance, doc) current = instance.instance_variable_get(:@last_modified) if current.is_a?(Array) doc["last-modified"] = current.map { |item| item.respond_to?(:content) ? item.content : item } elsif current if current.is_a?(Lutaml::Model::Serializable) doc["last-modified"] = Oscal::V1_2_1::LastModified.as_json(current) else val = current.respond_to?(:content) ? current.content : current doc["last-modified"] = val end end end |
#json_to_oscal_version_oscal_version(instance, doc) ⇒ Object
8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 8744 def json_to_oscal_version_oscal_version(instance, doc) current = instance.instance_variable_get(:@oscal_version) if current.is_a?(Array) doc["oscal-version"] = current.map { |item| item.respond_to?(:content) ? item.content : item } elsif current if current.is_a?(Lutaml::Model::Serializable) doc["oscal-version"] = Oscal::V1_2_1::OscalVersion.as_json(current) else val = current.respond_to?(:content) ? current.content : current doc["oscal-version"] = val end end end |
#json_to_published_published(instance, doc) ⇒ Object
8670 8671 8672 8673 8674 8675 8676 8677 8678 8679 8680 8681 8682 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 8670 def json_to_published_published(instance, doc) current = instance.instance_variable_get(:@published) if current.is_a?(Array) doc["published"] = current.map { |item| item.respond_to?(:content) ? item.content : item } elsif current if current.is_a?(Lutaml::Model::Serializable) doc["published"] = Oscal::V1_2_1::Published.as_json(current) else val = current.respond_to?(:content) ? current.content : current doc["published"] = val end end end |
#json_to_remarks_remarks(instance, doc) ⇒ Object
8790 8791 8792 8793 8794 8795 8796 8797 8798 8799 8800 8801 8802 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 8790 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 |
#json_to_version_version(instance, doc) ⇒ Object
8714 8715 8716 8717 8718 8719 8720 8721 8722 8723 8724 8725 8726 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 8714 def json_to_version_version(instance, doc) current = instance.instance_variable_get(:@version) if current.is_a?(Array) doc["version"] = current.map { |item| item.respond_to?(:content) ? item.content : item } elsif current if current.is_a?(Lutaml::Model::Serializable) doc["version"] = Oscal::V1_2_1::Version.as_json(current) else val = current.respond_to?(:content) ? current.content : current doc["version"] = val end end end |
#validate_constraints ⇒ Object
8839 8840 8841 8842 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 8839 def validate_constraints validator = Metaschema::ConstraintValidator.new validator.validate(self, self.class.) end |
#validate_occurrences ⇒ Object
8844 8845 8846 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 8844 def validate_occurrences Metaschema::ConstraintValidator.validate_occurrences(self, self.class.instance_variable_get(:@occurrence_constraints)) end |