Sha256: c4b02c295aab9998731112eafb6f20d1164908146923ec98c1204eeb2ff7cb5b
Contents?: true
Size: 796 Bytes
Versions: 3
Compression:
Stored size: 796 Bytes
Contents
module DataModel # Boolean type class Builtin::Boolean < Type include Errors # Arguments for the boolean type class Arguments < Struct prop :optional, :boolean, default: false end # read a value, and validate it # @param val [Object] the value to read # @param coerce [Boolean] whether to coerce the value # @return [Array(Object, Error)] the result of reading the value def read(val, coerce: false) err = Error.new if val.nil? err.add(missing_error(type_name)) return [val, err] end if coerce case val when "true" val = true when "false" val = false end end if !val.is_a?(TrueClass) && !val.is_a?(FalseClass) err.add(type_error(type_name, val)) return [val, err] end return [val, err] end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
data_model-0.6.1 | lib/data_model/builtin/boolean.rb |
data_model-0.6.0 | lib/data_model/builtin/boolean.rb |
data_model-0.5.0 | lib/data_model/builtin/boolean.rb |