Class: Oscal::V1_2_1::SystemCharacteristics
- Inherits:
-
Base
- Object
- Lutaml::Model::Serializable
- Base
- Oscal::V1_2_1::SystemCharacteristics
- Defined in:
- lib/oscal/v1_2_1/all_models.rb
Class Method Summary collapse
Instance Method Summary collapse
- #json_assembly_soa_from_authorization_boundary_authorization_boundary(instance, value) ⇒ Object
- #json_assembly_soa_from_data_flow_data_flow(instance, value) ⇒ Object
- #json_assembly_soa_from_network_architecture_network_architecture(instance, value) ⇒ Object
- #json_assembly_soa_from_security_impact_level_security_impact_level(instance, value) ⇒ Object
- #json_assembly_soa_from_status_status(instance, value) ⇒ Object
- #json_assembly_soa_from_system_information_system_information(instance, value) ⇒ Object
- #json_assembly_soa_to_authorization_boundary_authorization_boundary(instance, doc) ⇒ Object
- #json_assembly_soa_to_data_flow_data_flow(instance, doc) ⇒ Object
- #json_assembly_soa_to_network_architecture_network_architecture(instance, doc) ⇒ Object
- #json_assembly_soa_to_security_impact_level_security_impact_level(instance, doc) ⇒ Object
- #json_assembly_soa_to_status_status(instance, doc) ⇒ Object
- #json_assembly_soa_to_system_information_system_information(instance, doc) ⇒ Object
- #json_from_date_authorized_date_authorized(instance, value) ⇒ Object
- #json_from_remarks_remarks(instance, value) ⇒ Object
- #json_soa_from_system_id_system_ids(instance, value) ⇒ Object
- #json_soa_to_system_id_system_ids(instance, doc) ⇒ Object
- #json_to_date_authorized_date_authorized(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
12905 12906 12907 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12905 def self. @metaschema_constraints end |
Instance Method Details
#json_assembly_soa_from_authorization_boundary_authorization_boundary(instance, value) ⇒ Object
12708 12709 12710 12711 12712 12713 12714 12715 12716 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12708 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::AuthorizationBoundary.of_json(item.is_a?(Hash) ? item : {}) } instance.instance_variable_set(:@authorization_boundary, parsed) end |
#json_assembly_soa_from_data_flow_data_flow(instance, value) ⇒ Object
12786 12787 12788 12789 12790 12791 12792 12793 12794 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12786 def json_assembly_soa_from_data_flow_data_flow(instance, value) items = case value when Hash then [value] when Array then value else return end parsed = items.map { |item| Oscal::V1_2_1::DataFlow.of_json(item.is_a?(Hash) ? item : {}) } instance.instance_variable_set(:@data_flow, parsed) end |
#json_assembly_soa_from_network_architecture_network_architecture(instance, value) ⇒ Object
12762 12763 12764 12765 12766 12767 12768 12769 12770 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12762 def json_assembly_soa_from_network_architecture_network_architecture(instance, value) items = case value when Hash then [value] when Array then value else return end parsed = items.map { |item| Oscal::V1_2_1::NetworkArchitecture.of_json(item.is_a?(Hash) ? item : {}) } instance.instance_variable_set(:@network_architecture, parsed) end |
#json_assembly_soa_from_security_impact_level_security_impact_level(instance, value) ⇒ Object
12684 12685 12686 12687 12688 12689 12690 12691 12692 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12684 def json_assembly_soa_from_security_impact_level_security_impact_level(instance, value) items = case value when Hash then [value] when Array then value else return end parsed = items.map { |item| Oscal::V1_2_1::SecurityImpactLevel.of_json(item.is_a?(Hash) ? item : {}) } instance.instance_variable_set(:@security_impact_level, parsed) end |
#json_assembly_soa_from_status_status(instance, value) ⇒ Object
12796 12797 12798 12799 12800 12801 12802 12803 12804 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12796 def json_assembly_soa_from_status_status(instance, value) items = case value when Hash then [value] when Array then value else return end parsed = items.map { |item| Oscal::V1_2_1::Status.of_json(item.is_a?(Hash) ? item : {}) } instance.instance_variable_set(:@status, parsed) end |
#json_assembly_soa_from_system_information_system_information(instance, value) ⇒ Object
12895 12896 12897 12898 12899 12900 12901 12902 12903 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12895 def json_assembly_soa_from_system_information_system_information(instance, value) items = case value when Hash then [value] when Array then value else return end parsed = items.map { |item| Oscal::V1_2_1::SystemInformation.of_json(item.is_a?(Hash) ? item : {}) } instance.instance_variable_set(:@system_information, parsed) end |
#json_assembly_soa_to_authorization_boundary_authorization_boundary(instance, doc) ⇒ Object
12718 12719 12720 12721 12722 12723 12724 12725 12726 12727 12728 12729 12730 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12718 def (instance, doc) current = instance.instance_variable_get(:@authorization_boundary) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::AuthorizationBoundary.as_json(item) else item end end doc["authorization-boundary"] = result.length == 1 ? result.first : result end end |
#json_assembly_soa_to_data_flow_data_flow(instance, doc) ⇒ Object
12772 12773 12774 12775 12776 12777 12778 12779 12780 12781 12782 12783 12784 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12772 def json_assembly_soa_to_data_flow_data_flow(instance, doc) current = instance.instance_variable_get(:@data_flow) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::DataFlow.as_json(item) else item end end doc["data-flow"] = result.length == 1 ? result.first : result end end |
#json_assembly_soa_to_network_architecture_network_architecture(instance, doc) ⇒ Object
12748 12749 12750 12751 12752 12753 12754 12755 12756 12757 12758 12759 12760 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12748 def json_assembly_soa_to_network_architecture_network_architecture(instance, doc) current = instance.instance_variable_get(:@network_architecture) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::NetworkArchitecture.as_json(item) else item end end doc["network-architecture"] = result.length == 1 ? result.first : result end end |
#json_assembly_soa_to_security_impact_level_security_impact_level(instance, doc) ⇒ Object
12694 12695 12696 12697 12698 12699 12700 12701 12702 12703 12704 12705 12706 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12694 def json_assembly_soa_to_security_impact_level_security_impact_level(instance, doc) current = instance.instance_variable_get(:@security_impact_level) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::SecurityImpactLevel.as_json(item) else item end end doc["security-impact-level"] = result.length == 1 ? result.first : result end end |
#json_assembly_soa_to_status_status(instance, doc) ⇒ Object
12806 12807 12808 12809 12810 12811 12812 12813 12814 12815 12816 12817 12818 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12806 def json_assembly_soa_to_status_status(instance, doc) current = instance.instance_variable_get(:@status) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::Status.as_json(item) else item end end doc["status"] = result.length == 1 ? result.first : result end end |
#json_assembly_soa_to_system_information_system_information(instance, doc) ⇒ Object
12670 12671 12672 12673 12674 12675 12676 12677 12678 12679 12680 12681 12682 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12670 def json_assembly_soa_to_system_information_system_information(instance, doc) current = instance.instance_variable_get(:@system_information) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::SystemInformation.as_json(item) else item end end doc["system-information"] = result.length == 1 ? result.first : result end end |
#json_from_date_authorized_date_authorized(instance, value) ⇒ Object
12732 12733 12734 12735 12736 12737 12738 12739 12740 12741 12742 12743 12744 12745 12746 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12732 def (instance, value) if value.is_a?(Array) parsed = value.map { |v| Oscal::V1_2_1::DateAuthorized.of_json(v) } instance.instance_variable_set(:@date_authorized, parsed) elsif value.is_a?(Hash) if value.empty? inst = Oscal::V1_2_1::DateAuthorized.new(content: "") instance.instance_variable_set(:@date_authorized, inst) else instance.instance_variable_set(:@date_authorized, Oscal::V1_2_1::DateAuthorized.of_json(value)) end elsif value instance.instance_variable_set(:@date_authorized, Oscal::V1_2_1::DateAuthorized.of_json(value)) end end |
#json_from_remarks_remarks(instance, value) ⇒ Object
12820 12821 12822 12823 12824 12825 12826 12827 12828 12829 12830 12831 12832 12833 12834 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12820 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_soa_from_system_id_system_ids(instance, value) ⇒ Object
12864 12865 12866 12867 12868 12869 12870 12871 12872 12873 12874 12875 12876 12877 12878 12879 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12864 def json_soa_from_system_id_system_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::SystemId.of_json(item) when String then Oscal::V1_2_1::SystemId.of_json(item) else item end end instance.instance_variable_set(:@system_id, parsed) end |
#json_soa_to_system_id_system_ids(instance, doc) ⇒ Object
12881 12882 12883 12884 12885 12886 12887 12888 12889 12890 12891 12892 12893 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12881 def json_soa_to_system_id_system_ids(instance, doc) current = instance.instance_variable_get(:@system_id) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::SystemId.as_json(item) else item end end doc["system-ids"] = result.length == 1 ? result.first : result end end |
#json_to_date_authorized_date_authorized(instance, doc) ⇒ Object
12850 12851 12852 12853 12854 12855 12856 12857 12858 12859 12860 12861 12862 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12850 def (instance, doc) current = instance.instance_variable_get(:@date_authorized) if current.is_a?(Array) doc["date-authorized"] = current.map { |item| item.respond_to?(:content) ? item.content : item } elsif current if current.is_a?(Lutaml::Model::Serializable) doc["date-authorized"] = Oscal::V1_2_1::DateAuthorized.as_json(current) else val = current.respond_to?(:content) ? current.content : current doc["date-authorized"] = val end end end |
#json_to_remarks_remarks(instance, doc) ⇒ Object
12836 12837 12838 12839 12840 12841 12842 12843 12844 12845 12846 12847 12848 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12836 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
12909 12910 12911 12912 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12909 def validate_constraints validator = Metaschema::ConstraintValidator.new validator.validate(self, self.class.) end |
#validate_occurrences ⇒ Object
12914 12915 12916 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 12914 def validate_occurrences Metaschema::ConstraintValidator.validate_occurrences(self, self.class.instance_variable_get(:@occurrence_constraints)) end |