Class: Oscal::V1_2_1::Merge

Inherits:
Base
  • Object
show all
Defined in:
lib/oscal/v1_2_1/all_models.rb

Instance Method Summary collapse

Methods inherited from Base

lutaml_default_register

Instance Method Details

#json_assembly_soa_from_combine_combine(instance, value) ⇒ Object



11099
11100
11101
11102
11103
11104
11105
11106
11107
# File 'lib/oscal/v1_2_1/all_models.rb', line 11099

def json_assembly_soa_from_combine_combine(instance, value)
  items = case value
          when Hash then [value]
          when Array then value
          else return
          end
  parsed = items.map { |item| Oscal::V1_2_1::MergeCombine.of_json(item.is_a?(Hash) ? item : {}) }
  instance.instance_variable_set(:@combine, parsed)
end

#json_assembly_soa_from_custom_custom(instance, value) ⇒ Object



11147
11148
11149
11150
11151
11152
11153
11154
11155
# File 'lib/oscal/v1_2_1/all_models.rb', line 11147

def json_assembly_soa_from_custom_custom(instance, value)
  items = case value
          when Hash then [value]
          when Array then value
          else return
          end
  parsed = items.map { |item| Oscal::V1_2_1::MergeCustom.of_json(item.is_a?(Hash) ? item : {}) }
  instance.instance_variable_set(:@custom, parsed)
end

#json_assembly_soa_from_flat_flat(instance, value) ⇒ Object



11123
11124
11125
11126
11127
11128
11129
11130
11131
# File 'lib/oscal/v1_2_1/all_models.rb', line 11123

def json_assembly_soa_from_flat_flat(instance, value)
  items = case value
          when Hash then [value]
          when Array then value
          else return
          end
  parsed = items.map { |item| Oscal::V1_2_1::MergeFlat.of_json(item.is_a?(Hash) ? item : {}) }
  instance.instance_variable_set(:@flat, parsed)
end

#json_assembly_soa_to_combine_combine(instance, doc) ⇒ Object



11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
# File 'lib/oscal/v1_2_1/all_models.rb', line 11109

def json_assembly_soa_to_combine_combine(instance, doc)
  current = instance.instance_variable_get(:@combine)
  if current.is_a?(Array)
    result = current.map do |item|
      if item.is_a?(Lutaml::Model::Serializable)
        Oscal::V1_2_1::MergeCombine.as_json(item)
      else
        item
      end
    end
    doc["combine"] = result.length == 1 ? result.first : result
  end
end

#json_assembly_soa_to_custom_custom(instance, doc) ⇒ Object



11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
# File 'lib/oscal/v1_2_1/all_models.rb', line 11157

def json_assembly_soa_to_custom_custom(instance, doc)
  current = instance.instance_variable_get(:@custom)
  if current.is_a?(Array)
    result = current.map do |item|
      if item.is_a?(Lutaml::Model::Serializable)
        Oscal::V1_2_1::MergeCustom.as_json(item)
      else
        item
      end
    end
    doc["custom"] = result.length == 1 ? result.first : result
  end
end

#json_assembly_soa_to_flat_flat(instance, doc) ⇒ Object



11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
# File 'lib/oscal/v1_2_1/all_models.rb', line 11133

def json_assembly_soa_to_flat_flat(instance, doc)
  current = instance.instance_variable_get(:@flat)
  if current.is_a?(Array)
    result = current.map do |item|
      if item.is_a?(Lutaml::Model::Serializable)
        Oscal::V1_2_1::MergeFlat.as_json(item)
      else
        item
      end
    end
    doc["flat"] = result.length == 1 ? result.first : result
  end
end