Class: Oscal::V1_2_1::ByComponentExport

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_from_remarks_remarks(instance, value) ⇒ Object



4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
# File 'lib/oscal/v1_2_1/all_models.rb', line 4092

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


4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
# File 'lib/oscal/v1_2_1/all_models.rb', line 4136

def json_to_asm_link_links(instance, doc)
  current = instance.instance_variable_get(:@link)
  if current.is_a?(Array)
    doc["links"] = current.map { |item| item.respond_to?(:content) ? item.content : item }
  elsif current
    if current.is_a?(Lutaml::Model::Serializable)
      doc["links"] = Oscal::V1_2_1::Link.as_json(current)
    else
      val = current.respond_to?(:content) ? current.content : current
      doc["links"] = val
    end
  end
end

#json_to_asm_property_props(instance, doc) ⇒ Object



4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
# File 'lib/oscal/v1_2_1/all_models.rb', line 4122

def json_to_asm_property_props(instance, doc)
  current = instance.instance_variable_get(:@property)
  if current.is_a?(Array)
    doc["props"] = current.map { |item| item.respond_to?(:content) ? item.content : item }
  elsif current
    if current.is_a?(Lutaml::Model::Serializable)
      doc["props"] = Oscal::V1_2_1::Property.as_json(current)
    else
      val = current.respond_to?(:content) ? current.content : current
      doc["props"] = val
    end
  end
end

#json_to_asm_provided_provided(instance, doc) ⇒ Object



4083
4084
4085
4086
4087
4088
4089
4090
# File 'lib/oscal/v1_2_1/all_models.rb', line 4083

def json_to_asm_provided_provided(instance, doc)
  current = instance.instance_variable_get(:@provided)
  if current.is_a?(Array)
    doc["provided"] = current.map { |item| item.respond_to?(:content) ? item.content : item }
  elsif current
    doc["provided"] = current.respond_to?(:content) ? current.content : current
  end
end

#json_to_asm_responsibility_responsibilities(instance, doc) ⇒ Object



4150
4151
4152
4153
4154
4155
4156
4157
# File 'lib/oscal/v1_2_1/all_models.rb', line 4150

def json_to_asm_responsibility_responsibilities(instance, doc)
  current = instance.instance_variable_get(:@responsibility)
  if current.is_a?(Array)
    doc["responsibilities"] = current.map { |item| item.respond_to?(:content) ? item.content : item }
  elsif current
    doc["responsibilities"] = current.respond_to?(:content) ? current.content : current
  end
end

#json_to_remarks_remarks(instance, doc) ⇒ Object



4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
# File 'lib/oscal/v1_2_1/all_models.rb', line 4108

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_occurrencesObject



4159
4160
4161
# File 'lib/oscal/v1_2_1/all_models.rb', line 4159

def validate_occurrences
  Metaschema::ConstraintValidator.validate_occurrences(self, self.class.instance_variable_get(:@occurrence_constraints))
end