Sha256: 6103fa32b05b87428a817d6933e9d94e29a0d4aa227b665e622af5e1271ab022
Contents?: true
Size: 657 Bytes
Versions: 1
Compression:
Stored size: 657 Bytes
Contents
require_relative "serializer" module Oscal class Property include Serializer KEY = %i(name value) attr_accessor *KEY attr_serializable *KEY def self.wrap(obj) return obj if obj.is_a? Property return Property.new(obj) unless obj.is_a? Array obj.map do |x| Property.wrap(x) end end def initialize(options={}) options.each_pair.each do |key,val| key_name = key.gsub('-','_') unless KEY.include?(key_name.to_sym) raise UnknownAttributeError.new("Unknown key `#{key}` in Property") end self.send("#{key_name}=", val) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
oscal-0.1.0 | lib/oscal/property.rb |