Sha256: 969056dc28ed129b1fed5551834509f61d9b4063174df68a6baebbaf15f22aff
Contents?: true
Size: 876 Bytes
Versions: 18
Compression:
Stored size: 876 Bytes
Contents
module Frodo module Properties # Defines the Boolean Frodo type. class Boolean < Frodo::Property # Returns the property value, properly typecast # @return [Boolean, nil] def value if (@value.nil? || @value.empty?) && allows_nil? nil else (@value == 'true' || @value == '1') end end # Sets the property value # @params new_value [Boolean] def value=(new_value) validate(new_value) @value = new_value.to_s end # The Frodo type name def type 'Edm.Boolean' end private def validate(value) return if value.nil? && allows_nil? unless [0,1,'0','1','true','false',true,false].include?(value) validation_error 'Value is outside accepted range: true or false' end end end end end
Version data entries
18 entries across 18 versions & 1 rubygems