To Insane!

A small String and Integer extender that allow you to use a base larger than 36 and use custom character sets for base conversion. Default max of 67. Also include url safe integer conversion.

Donate

I did not really make this library I just modified it off this guy. Donate your money to him.

If you find this library useful, please consider a donation to show your support!

www.paypal.com/cgi-bin/webscr?cmd=_send-money

Paypal address: [email protected]

Install

$ sudo gem install to_insane

Usage

require 'rubygems'
require 'to_insane'

# Int to insane (Default: Base 58)
1337.to_insane # => n3

# From insane to Int (Default: Base 58)
'A2Ph'.from_insane # => 7033619

# Different Bases
'A2Ph'.from_insane(50) # => 4507467
4507467.to_insane(50)  # => 'A2Ph'

# Different Character Sets
'A2Ph'.from_insane(:max,'A2Ph') # => 27
27.to_insane(:max,'A2Ph')

# Other Inputs
# :url_safe uses the max number characters that are RFC URL non reserved
# :max uses the max number of characters for given character set. Default character set is 87
27.to_insane(:url_safe) 
27.to_insane(:max)

Info

Default Character set. I choose not to use any slashes or quotes of any sort to prevent breaking

INSANECHARACTERS = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ-._~+[]|$!*(),{}^<>#%;?:@&='

Credits

Ryan Ong - ryangong.net

Douglas F Shearer - douglasfshearer.com

Developed for and with CarZen.com