Sha256: f3acabe1152e670f00a9e4a093fec1620fdf4a2c817e2242407eadd0a36ae5f1

Contents?: true

Size: 649 Bytes

Versions: 6

Compression:

Stored size: 649 Bytes

Contents

require 'uri'

# Simple helper module for input validation
module InputValidator
  URI_RE = /\A#{URI.regexp}\z/
  NUMBER_RE = /\A[[:digit:]]+\z/
  DECIMAL_RE = /\A[[:digit:]]+\.[[:digit:]]+\z/
  STRING_RE = /\A[[:print:]]+\z/
  NON_ZERO_NUMBER_RE = /\A[1-9][[:digit:]]*\z/

  def is?(object, regexp)
    object.to_s =~ regexp
  end

  def number?(object)
    is?(object, NUMBER_RE)
  end

  def decimal?(object)
    is?(object, DECIMAL_RE) || number?(object)
  end

  def uri?(object)
    is?(object, URI_RE)
  end

  def string?(object)
    is?(object, STRING_RE)
  end

  def non_zero_number?(object)
    is?(object, NON_ZERO_NUMBER_RE)
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
oneacct-export-0.5.0 lib/input_validator.rb
oneacct-export-0.4.6 lib/input_validator.rb
oneacct-export-0.4.5 lib/input_validator.rb
oneacct-export-0.4.4 lib/input_validator.rb
oneacct-export-0.4.3 lib/input_validator.rb
oneacct-export-0.4.2 lib/input_validator.rb