Sha256: f4d01e7a0f33fc45d655d50209c4d6abaee83f9ddc6a872e3576482ae2c32eb1
Contents?: true
Size: 733 Bytes
Versions: 1
Compression:
Stored size: 733 Bytes
Contents
class Typero::StringType < Typero::Type def set @value = @value.to_s unless @value.is_a?(String) @value = @value.downcase if @opts[:downcase] end def validate raise TypeError, error_for(:min_length_error) % [@opts[:min], @value.length] if @opts[:min] && @value.length < @opts[:min] raise TypeError, error_for(:max_length_error) % [@opts[:max], @value.length] if @opts[:max] && @value.length > @opts[:max] end # ready for localization def min_length_error 'min lenght is %s, you have %s' end def max_length_error 'max lenght is %s, you have %s' end def db_field opts = {} opts[:limit] = @opts[:max] || 255 opts[:null] = false if @opts[:req] [:string, opts] end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
typero-0.5.2 | ./lib/typero/type/string.rb |