class Taipu::String

The type string.

Public Class Methods

new(minlen: nil, maxlen: nil, pattern: nil) click to toggle source
# File lib/taipu/string.rb, line 7
def initialize(minlen: nil, maxlen: nil, pattern: nil)
  fail 'MinlenIsLongerThanMaxlenError' if !minlen.nil? && !maxlen.nil? &&
                                          minlen > maxlen

  @minlen   = minlen
  @maxlen   = maxlen
  @pattern  = pattern
end

Public Instance Methods

constraints() click to toggle source
# File lib/taipu/string.rb, line 25
def constraints
  {
    minlen:   @minlen,
    maxlen:   @maxlen,
    pattern:  @pattern
  }
end
valid?(value) click to toggle source
# File lib/taipu/string.rb, line 16
def valid?(value)
  return false unless value.is_a?(::String)
  return false if !@minlen.nil? && value.length < @minlen
  return false if !@maxlen.nil? && value.length > @maxlen
  return false if !@pattern.nil? && @pattern.match(value).nil?

  true
end