Class: Oscal::V1_2_1::MappingCollection
- Defined in:
- lib/oscal/v1_2_1/all_models.rb
Class Method Summary collapse
- .of_json(doc, options = {}) ⇒ Object
- .of_yaml(doc, options = {}) ⇒ Object
- .to_json(instance, options = {}) ⇒ Object
- .to_yaml(instance, options = {}) ⇒ Object
Instance Method Summary collapse
- #json_assembly_soa_from_back_matter_back_matter(instance, value) ⇒ Object
- #json_assembly_soa_from_mapping_mappings(instance, value) ⇒ Object
- #json_assembly_soa_from_mapping_provenance_provenance(instance, value) ⇒ Object
- #json_assembly_soa_from_metadata_metadata(instance, value) ⇒ Object
- #json_assembly_soa_to_back_matter_back_matter(instance, doc) ⇒ Object
- #json_assembly_soa_to_mapping_mappings(instance, doc) ⇒ Object
- #json_assembly_soa_to_mapping_provenance_provenance(instance, doc) ⇒ Object
- #json_assembly_soa_to_metadata_metadata(instance, doc) ⇒ Object
- #to_json(options = {}) ⇒ Object
- #to_yaml(options = {}) ⇒ Object
- #validate_occurrences ⇒ Object
Methods inherited from Base
Class Method Details
.of_json(doc, options = {}) ⇒ Object
10830 10831 10832 10833 10834 10835 10836 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10830 def self.of_json(doc, = {}) if doc.is_a?(Hash) && doc.key?("mapping-collection") super(doc["mapping-collection"], ) else super(doc, ) end end |
.of_yaml(doc, options = {}) ⇒ Object
10843 10844 10845 10846 10847 10848 10849 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10843 def self.of_yaml(doc, = {}) if doc.is_a?(Hash) && doc.key?("mapping-collection") super(doc["mapping-collection"], ) else super(doc, ) end end |
.to_json(instance, options = {}) ⇒ Object
10838 10839 10840 10841 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10838 def self.to_json(instance, = {}) json_str = super(instance, ) { "mapping-collection" => JSON.parse(json_str) }.to_json end |
.to_yaml(instance, options = {}) ⇒ Object
10851 10852 10853 10854 10855 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10851 def self.to_yaml(instance, = {}) yaml_str = super(instance, ) data = YAML.safe_load(yaml_str, permitted_classes: [Date, Time, Symbol]) { "mapping-collection" => data }.to_yaml end |
Instance Method Details
#json_assembly_soa_from_back_matter_back_matter(instance, value) ⇒ Object
10758 10759 10760 10761 10762 10763 10764 10765 10766 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10758 def json_assembly_soa_from_back_matter_back_matter(instance, value) items = case value when Hash then [value] when Array then value else return end parsed = items.map { |item| Oscal::V1_2_1::BackMatter.of_json(item.is_a?(Hash) ? item : {}) } instance.instance_variable_set(:@back_matter, parsed) end |
#json_assembly_soa_from_mapping_mappings(instance, value) ⇒ Object
10806 10807 10808 10809 10810 10811 10812 10813 10814 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10806 def json_assembly_soa_from_mapping_mappings(instance, value) items = case value when Hash then [value] when Array then value else return end parsed = items.map { |item| Oscal::V1_2_1::Mapping.of_json(item.is_a?(Hash) ? item : {}) } instance.instance_variable_set(:@mapping, parsed) end |
#json_assembly_soa_from_mapping_provenance_provenance(instance, value) ⇒ Object
10782 10783 10784 10785 10786 10787 10788 10789 10790 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10782 def json_assembly_soa_from_mapping_provenance_provenance(instance, value) items = case value when Hash then [value] when Array then value else return end parsed = items.map { |item| Oscal::V1_2_1::MappingProvenance.of_json(item.is_a?(Hash) ? item : {}) } instance.instance_variable_set(:@mapping_provenance, parsed) end |
#json_assembly_soa_from_metadata_metadata(instance, value) ⇒ Object
10734 10735 10736 10737 10738 10739 10740 10741 10742 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10734 def (instance, value) items = case value when Hash then [value] when Array then value else return end parsed = items.map { |item| Oscal::V1_2_1::Metadata.of_json(item.is_a?(Hash) ? item : {}) } instance.instance_variable_set(:@metadata, parsed) end |
#json_assembly_soa_to_back_matter_back_matter(instance, doc) ⇒ Object
10768 10769 10770 10771 10772 10773 10774 10775 10776 10777 10778 10779 10780 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10768 def json_assembly_soa_to_back_matter_back_matter(instance, doc) current = instance.instance_variable_get(:@back_matter) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::BackMatter.as_json(item) else item end end doc["back-matter"] = result.length == 1 ? result.first : result end end |
#json_assembly_soa_to_mapping_mappings(instance, doc) ⇒ Object
10816 10817 10818 10819 10820 10821 10822 10823 10824 10825 10826 10827 10828 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10816 def json_assembly_soa_to_mapping_mappings(instance, doc) current = instance.instance_variable_get(:@mapping) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::Mapping.as_json(item) else item end end doc["mappings"] = result.length == 1 ? result.first : result end end |
#json_assembly_soa_to_mapping_provenance_provenance(instance, doc) ⇒ Object
10792 10793 10794 10795 10796 10797 10798 10799 10800 10801 10802 10803 10804 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10792 def json_assembly_soa_to_mapping_provenance_provenance(instance, doc) current = instance.instance_variable_get(:@mapping_provenance) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::MappingProvenance.as_json(item) else item end end doc["provenance"] = result.length == 1 ? result.first : result end end |
#json_assembly_soa_to_metadata_metadata(instance, doc) ⇒ Object
10744 10745 10746 10747 10748 10749 10750 10751 10752 10753 10754 10755 10756 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10744 def (instance, doc) current = instance.instance_variable_get(:@metadata) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::Metadata.as_json(item) else item end end doc["metadata"] = result.length == 1 ? result.first : result end end |
#to_json(options = {}) ⇒ Object
10857 10858 10859 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10857 def to_json( = {}) self.class.to_json(self, ) end |
#to_yaml(options = {}) ⇒ Object
10861 10862 10863 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10861 def to_yaml( = {}) self.class.to_yaml(self, ) end |
#validate_occurrences ⇒ Object
10865 10866 10867 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10865 def validate_occurrences Metaschema::ConstraintValidator.validate_occurrences(self, self.class.instance_variable_get(:@occurrence_constraints)) end |