Sha256: 264dd03c59aec0af41fa725be0dd10bd71970000d21ab330aff3d62131721374

Contents?: true

Size: 637 Bytes

Versions: 3

Compression:

Stored size: 637 Bytes

Contents

require_relative "base_class"

module Oscal
  class Parameter < Oscal::BaseClass
    KEY = %i(id klass depneds_on props links label usage
             constraints guidelines values select remarks)

    attr_accessor *KEY

    attr_serializable *KEY

    def set_value(key_name, val)
      case key_name
      when "props"
        Property.wrap(val)
      when "links"
        Link.wrap(val)
      when "constraints"
        Constraint.wrap(val)
      when "guidelines"
        Guideline.wrap(val)
      when "values"
        Value.wrap(val)
      when "select"
        Select.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/parameter.rb
oscal-0.2.2 lib/oscal/parameter.rb
oscal-0.2.0 lib/oscal/parameter.rb