Module: Obfusk::Util::Valid

Defined in:
lib/obfusk/util/valid.rb

Defined Under Namespace

Classes: ArgumentError, ValidationError

Class Method Summary collapse

Class Method Details

.args(what, args, min, max = min) ⇒ Array

validate #args in min..max (min.. if max is nil)

Returns:

  • (Array)

    args

Raises:

  • ArgumentError on out of bounds



23
24
25
26
27
28
# File 'lib/obfusk/util/valid.rb', line 23

def self.args(what, args, min, max = min)
  if (l = args.length) < min || (max && l > max)
    raise ArgumentError,
      "#{what} expected #{min}..#{max} arguments, got #{l}"
  end; args
end

.invalid!(msg) ⇒ Object

Raises:

  • ValidationError



31
32
33
# File 'lib/obfusk/util/valid.rb', line 31

def self.invalid!(msg)
  raise ValidationError, msg
end

.validate!(x, rx, name) ⇒ Object

validate value against regex

Raises:

  • ValidationError on no match



37
38
39
# File 'lib/obfusk/util/valid.rb', line 37

def self.validate!(x, rx, name)
  x.to_s.match(/^(#{rx})$/) or invalid! "invalid #{name}"
end