Class: Oscal::V1_2_1::Profile
- 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_merge_merge(instance, value) ⇒ Object
- #json_assembly_soa_from_metadata_metadata(instance, value) ⇒ Object
- #json_assembly_soa_from_modify_modify(instance, value) ⇒ Object
- #json_assembly_soa_to_back_matter_back_matter(instance, doc) ⇒ Object
- #json_assembly_soa_to_merge_merge(instance, doc) ⇒ Object
- #json_assembly_soa_to_metadata_metadata(instance, doc) ⇒ Object
- #json_assembly_soa_to_modify_modify(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
10993 10994 10995 10996 10997 10998 10999 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10993 def self.of_json(doc, = {}) if doc.is_a?(Hash) && doc.key?("profile") super(doc["profile"], ) else super(doc, ) end end |
.of_yaml(doc, options = {}) ⇒ Object
11006 11007 11008 11009 11010 11011 11012 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 11006 def self.of_yaml(doc, = {}) if doc.is_a?(Hash) && doc.key?("profile") super(doc["profile"], ) else super(doc, ) end end |
.to_json(instance, options = {}) ⇒ Object
11001 11002 11003 11004 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 11001 def self.to_json(instance, = {}) json_str = super(instance, ) { "profile" => JSON.parse(json_str) }.to_json end |
.to_yaml(instance, options = {}) ⇒ Object
11014 11015 11016 11017 11018 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 11014 def self.to_yaml(instance, = {}) yaml_str = super(instance, ) data = YAML.safe_load(yaml_str, permitted_classes: [Date, Time, Symbol]) { "profile" => data }.to_yaml end |
Instance Method Details
#json_assembly_soa_from_back_matter_back_matter(instance, value) ⇒ Object
10935 10936 10937 10938 10939 10940 10941 10942 10943 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10935 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_merge_merge(instance, value) ⇒ Object
10945 10946 10947 10948 10949 10950 10951 10952 10953 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10945 def json_assembly_soa_from_merge_merge(instance, value) items = case value when Hash then [value] when Array then value else return end parsed = items.map { |item| Oscal::V1_2_1::Merge.of_json(item.is_a?(Hash) ? item : {}) } instance.instance_variable_set(:@merge, parsed) end |
#json_assembly_soa_from_metadata_metadata(instance, value) ⇒ Object
10911 10912 10913 10914 10915 10916 10917 10918 10919 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10911 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_from_modify_modify(instance, value) ⇒ Object
10969 10970 10971 10972 10973 10974 10975 10976 10977 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10969 def json_assembly_soa_from_modify_modify(instance, value) items = case value when Hash then [value] when Array then value else return end parsed = items.map { |item| Oscal::V1_2_1::Modify.of_json(item.is_a?(Hash) ? item : {}) } instance.instance_variable_set(:@modify, parsed) end |
#json_assembly_soa_to_back_matter_back_matter(instance, doc) ⇒ Object
10921 10922 10923 10924 10925 10926 10927 10928 10929 10930 10931 10932 10933 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10921 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_merge_merge(instance, doc) ⇒ Object
10955 10956 10957 10958 10959 10960 10961 10962 10963 10964 10965 10966 10967 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10955 def json_assembly_soa_to_merge_merge(instance, doc) current = instance.instance_variable_get(:@merge) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::Merge.as_json(item) else item end end doc["merge"] = result.length == 1 ? result.first : result end end |
#json_assembly_soa_to_metadata_metadata(instance, doc) ⇒ Object
10897 10898 10899 10900 10901 10902 10903 10904 10905 10906 10907 10908 10909 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10897 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 |
#json_assembly_soa_to_modify_modify(instance, doc) ⇒ Object
10979 10980 10981 10982 10983 10984 10985 10986 10987 10988 10989 10990 10991 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 10979 def json_assembly_soa_to_modify_modify(instance, doc) current = instance.instance_variable_get(:@modify) if current.is_a?(Array) result = current.map do |item| if item.is_a?(Lutaml::Model::Serializable) Oscal::V1_2_1::Modify.as_json(item) else item end end doc["modify"] = result.length == 1 ? result.first : result end end |
#to_json(options = {}) ⇒ Object
11020 11021 11022 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 11020 def to_json( = {}) self.class.to_json(self, ) end |
#to_yaml(options = {}) ⇒ Object
11024 11025 11026 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 11024 def to_yaml( = {}) self.class.to_yaml(self, ) end |
#validate_occurrences ⇒ Object
11028 11029 11030 |
# File 'lib/oscal/v1_2_1/all_models.rb', line 11028 def validate_occurrences Metaschema::ConstraintValidator.validate_occurrences(self, self.class.instance_variable_get(:@occurrence_constraints)) end |