Sha256: 284079d544712c457039fe2f769f1ef5cd8ebe69cf8c4554529d4822c9adb381

Contents?: true

Size: 1.24 KB

Versions: 2

Compression:

Stored size: 1.24 KB

Contents

# frozen_string_literal: true

module Rspeckled
module Helpers
module Patterns
  def uuid_regex
    /[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/i
  end

  def iso8601_regex
    /
      (
        -?
        (?:
          [1-9][0-9]*
        )?
        [0-9]{4}
      )
      -
      (1[0-2]|0[1-9])
      -
      (3[01]|0[1-9]|[12][0-9])
      T
      (2[0-3]|[01][0-9])
      :
      ([0-5][0-9])
      :
      ([0-5][0-9])
      (\.[0-9]+)?
      (
        (?:
          [+\-]
          \d{2}
          :
          \d{2})
        |
        Z
      )?
    /x
  end

  def base64_digit_regex
    %r{[a-z0-9+/=]}i
  end

  def hex_digit_regex
    /[a-f0-9]/i
  end

  def guid_regex
    /[a-f0-9]{32}/i
  end

  def md5_regex
    /[a-f0-9]{32}/i
  end

  def sha_regex
    /[a-f0-9]{64}/i
  end

  def test_email_regex
    /user\d+@example.com/
  end

  def test_username_regex
    /username\d+/
  end

  def json_web_token_base64_regex
    %r{[A-Za-z0-9_/+=\-]}
  end

  def json_web_token_regex
    /
      (#{json_web_token_base64_regex}+?\.){2}
      #{json_web_token_base64_regex}+?
    /x
  end

  def encrypted_json_web_token_regex
    /
      (#{json_web_token_base64_regex}+?\.){4}
      #{json_web_token_base64_regex}+?
    /x
  end
end
end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rspeckled-2.1.1 lib/rspeckled/helpers/patterns.rb
rspeckled-2.1.0 lib/rspeckled/helpers/patterns.rb