Class: Oscal::V1_2_1::MetadataRevision

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



124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# File 'lib/oscal/v1_2_1/all_models.rb', line 124

def json_from_last_modified_last_modified(instance, value)
  if value.is_a?(Array)
    parsed = value.map { |v| Oscal::V1_2_1::LastModified.of_json(v) }
    instance.instance_variable_set(:@last_modified, parsed)
  elsif value.is_a?(Hash)
    if value.empty?
      inst = Oscal::V1_2_1::LastModified.new(content: "")
      instance.instance_variable_set(:@last_modified, inst)
    else
      instance.instance_variable_set(:@last_modified, Oscal::V1_2_1::LastModified.of_json(value))
    end
  elsif value
    instance.instance_variable_set(:@last_modified, Oscal::V1_2_1::LastModified.of_json(value))
  end
end

#json_from_oscal_version_oscal_version(instance, value) ⇒ Object



184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
# File 'lib/oscal/v1_2_1/all_models.rb', line 184

def json_from_oscal_version_oscal_version(instance, value)
  if value.is_a?(Array)
    parsed = value.map { |v| Oscal::V1_2_1::OscalVersion.of_json(v) }
    instance.instance_variable_set(:@oscal_version, parsed)
  elsif value.is_a?(Hash)
    if value.empty?
      inst = Oscal::V1_2_1::OscalVersion.new(content: "")
      instance.instance_variable_set(:@oscal_version, inst)
    else
      instance.instance_variable_set(:@oscal_version, Oscal::V1_2_1::OscalVersion.of_json(value))
    end
  elsif value
    instance.instance_variable_set(:@oscal_version, Oscal::V1_2_1::OscalVersion.of_json(value))
  end
end

#json_from_published_published(instance, value) ⇒ Object



94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/oscal/v1_2_1/all_models.rb', line 94

def json_from_published_published(instance, value)
  if value.is_a?(Array)
    parsed = value.map { |v| Oscal::V1_2_1::Published.of_json(v) }
    instance.instance_variable_set(:@published, parsed)
  elsif value.is_a?(Hash)
    if value.empty?
      inst = Oscal::V1_2_1::Published.new(content: "")
      instance.instance_variable_set(:@published, inst)
    else
      instance.instance_variable_set(:@published, Oscal::V1_2_1::Published.of_json(value))
    end
  elsif value
    instance.instance_variable_set(:@published, Oscal::V1_2_1::Published.of_json(value))
  end
end

#json_from_remarks_remarks(instance, value) ⇒ Object



214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
# File 'lib/oscal/v1_2_1/all_models.rb', line 214

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



154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# File 'lib/oscal/v1_2_1/all_models.rb', line 154

def json_from_version_version(instance, value)
  if value.is_a?(Array)
    parsed = value.map { |v| Oscal::V1_2_1::Version.of_json(v) }
    instance.instance_variable_set(:@version, parsed)
  elsif value.is_a?(Hash)
    if value.empty?
      inst = Oscal::V1_2_1::Version.new(content: "")
      instance.instance_variable_set(:@version, inst)
    else
      instance.instance_variable_set(:@version, Oscal::V1_2_1::Version.of_json(value))
    end
  elsif value
    instance.instance_variable_set(:@version, Oscal::V1_2_1::Version.of_json(value))
  end
end


258
259
260
261
262
263
264
265
266
267
268
269
270
# File 'lib/oscal/v1_2_1/all_models.rb', line 258

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



244
245
246
247
248
249
250
251
252
253
254
255
256
# File 'lib/oscal/v1_2_1/all_models.rb', line 244

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_last_modified_last_modified(instance, doc) ⇒ Object



140
141
142
143
144
145
146
147
148
149
150
151
152
# File 'lib/oscal/v1_2_1/all_models.rb', line 140

def json_to_last_modified_last_modified(instance, doc)
  current = instance.instance_variable_get(:@last_modified)
  if current.is_a?(Array)
    doc["last-modified"] = current.map { |item| item.respond_to?(:content) ? item.content : item }
  elsif current
    if current.is_a?(Lutaml::Model::Serializable)
      doc["last-modified"] = Oscal::V1_2_1::LastModified.as_json(current)
    else
      val = current.respond_to?(:content) ? current.content : current
      doc["last-modified"] = val
    end
  end
end

#json_to_oscal_version_oscal_version(instance, doc) ⇒ Object



200
201
202
203
204
205
206
207
208
209
210
211
212
# File 'lib/oscal/v1_2_1/all_models.rb', line 200

def json_to_oscal_version_oscal_version(instance, doc)
  current = instance.instance_variable_get(:@oscal_version)
  if current.is_a?(Array)
    doc["oscal-version"] = current.map { |item| item.respond_to?(:content) ? item.content : item }
  elsif current
    if current.is_a?(Lutaml::Model::Serializable)
      doc["oscal-version"] = Oscal::V1_2_1::OscalVersion.as_json(current)
    else
      val = current.respond_to?(:content) ? current.content : current
      doc["oscal-version"] = val
    end
  end
end

#json_to_published_published(instance, doc) ⇒ Object



110
111
112
113
114
115
116
117
118
119
120
121
122
# File 'lib/oscal/v1_2_1/all_models.rb', line 110

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

#json_to_remarks_remarks(instance, doc) ⇒ Object



230
231
232
233
234
235
236
237
238
239
240
241
242
# File 'lib/oscal/v1_2_1/all_models.rb', line 230

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

#json_to_version_version(instance, doc) ⇒ Object



170
171
172
173
174
175
176
177
178
179
180
181
182
# File 'lib/oscal/v1_2_1/all_models.rb', line 170

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

#validate_occurrencesObject



272
273
274
# File 'lib/oscal/v1_2_1/all_models.rb', line 272

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