Sha256: 23529df7d4b15fb754778ac510c6138d2e1287ef7d6819d04dc69df1fa15e97d

Contents?: true

Size: 583 Bytes

Versions: 3

Compression:

Stored size: 583 Bytes

Contents

require_relative "base_class"

module Oscal
  class Resource < Oscal::BaseClass
    KEY = %i(uuid title description props docuement_ids citation rlinks
             base64 remarks)

    attr_accessor *KEY

    attr_serializable *KEY

    def set_value(key_name, val)
      case key_name
      when "props"
        Property.wrap(val)
      when "document_ids"
        DocumentId.wrap(val)
      when "citation"
        Citation.wrap(val)
      when "rlinks"
        Rlink.wrap(val)
      when "base64"
        Base64Object.wrap(val)
      else
        val
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
oscal-0.2.3 lib/oscal/resource.rb
oscal-0.2.2 lib/oscal/resource.rb
oscal-0.2.0 lib/oscal/resource.rb