P O S T M O D E R N

Introducing Chars 0.1.0

alpha, ascii, case, char, chars, code, generate, git, github, hex, hexadecimal, lower, numeric, octal, random, ruby, rubygem, text, upper

Yesterday I released the first version of Chars. Chars is a Ruby library for working with character sets, generating random text and determining whether Strings or Integers belong to specific sets. Originally, Chars was part of the Ronin code-base, but was split-out in order to keep Ronin small and to promote code-reuse. So without further ado, here's some examples of what Chars can do:

  • Determine whether a byte belongs to a character set:
    0x41.alpha?
    # => true
  • Determine whether a String belongs to a character set:
    "hello;".printable?
    # => true
  • Find all sub-strings that belong to a character set within a String:
    ls = File.read('/bin/ls')
    Chars.printable.strings_in(ls)
    # => ["/lib64/ld-linux-x86-64.so.2", "KIq/", "5J~!", "%L~!", ...]
  • Return a random character from the set of all characters:
    Chars.all.random_char
    # => "\x94"
  • Return a random Array of characters from the alpha-numeric character set:
    Chars.alpha_numeric.random_array(10)
    # => ["Q", "N", "S", "4", "x", "z", "3", "M", "F", "F"]
  • Return a random String from the set of all characters:
    Chars.all.random_string(10)
    # => "\xc2h\xad\xccm7\x1e6J\x13"
  • Return a random String with a random length between 5 and 10, from the set of space characters:
    Chars.space.random_string(5..10)
    # => "\r\v\n\t\n\f"

You can install Chars as a rubygem using the following command:

$ sudo gem install chars

If you want to hack on Chars, the code-base is available on GitHub.