Class: Taipu::String

Inherits:
Base
  • Object
show all
Defined in:
lib/taipu/string.rb

Overview

The type string.

Instance Method Summary collapse

Methods inherited from Base

#to_h, #to_sym

Constructor Details

#initialize(minlen: nil, maxlen: nil, pattern: nil) ⇒ String

Returns a new instance of String.



7
8
9
10
11
12
13
14
# 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

Instance Method Details

#constraintsObject



25
26
27
28
29
30
31
# File 'lib/taipu/string.rb', line 25

def constraints
  {
    minlen:   @minlen,
    maxlen:   @maxlen,
    pattern:  @pattern
  }
end

#valid?(value) ⇒ Boolean

Returns:



16
17
18
19
20
21
22
23
# 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