Utility
A number of ruby useful utilities.
Installation
# Installing as Ruby gem
$ gem install utility
# Or in gemfile
$ gem utility
Usage
You will be able use utility in rails c
or irb
.
require "utility"
base64
# base64 encode
Utility.base64encode "ruby" #=> "cnVieQ=="
Utility.base64encode "utility" #=> "dXRpbGl0eQ=="
Utility.base64encode "中文" #=> "5Lit5paH"
# base64 decode
Utility.base64decode "cnVieQ==" #=> "ruby"
Utility.base64decode "dXRpbGl0eQ==" #=> "utility"
Utility.base64decode "5Lit5paH" #=> "中文"
md5/rmd/sha
Utility.md5 "ruby" #=> "58e53d1324eef6265fdb97b08ed9aadf"
Utility.rmd160 "ruby" #=> "29d9b710bc50866fa2399c3061cd02c0c8ffa197"
Utility.sha1 "ruby" #=> "18e40e1401eef67e1ae69efab09afb71f87ffb81"
Utility.sha256 "ruby" #=> "b9138194ffe9e7c8bb6d79d1ed56259553d18d9cb60b66e3ba5aa2e5b078055a"
Utility.sha384 "ruby" #=> "635365ef93ebf2c7a4e40b0b497da727ab8c2914eb9f052e6be40476f95d3daf44786790f5f0e843fab419b43022e069"
Utility.sha512 "ruby" #=> "423408d7723a3d80baefa804bd50b61a89667efec1713386a7b8efe28e5d13968307a908778cad210d7aa2dfe7db9a2aa86895f9fc1eeefcc99814310b207a6b"
hmac
Utility.hmac "sha1", "key", "the data" #=> "ac5b94c09a6033e3aca1a02116ebf48722b155e0"
Utility.hmac "sha256", "key", "the data" #=> "00644ab9e7ce1b772c5fcd9b460b1a4fa78de4a55c162590ac506f2f76d62a40"
url/html
# params parse
Utility.parse_query "http://example.com/?param1=value1¶m2=value2¶m3=value3"
#=> {"param1"=>["value1"], "param2"=>["value2"], "param3"=>["value3"]}
Utility.parse_query "param1=value1¶m2=value2¶m3=value3"
#=> {"param1"=>["value1"], "param2"=>["value2"], "param3"=>["value3"]}
# url escape
Utility.url_escape "http://example.com/search?q=#ruby&from=深圳"
#=> "http://example.com/search?q=%23ruby&from=%E6%B7%B1%E5%9C%B3"
Utility.url_escape "http://example.com/search?q=#ruby&from=深圳", :all
#=> "http%3A%2F%2Fexample.com%2Fsearch%3Fq%3D%23ruby%26from%3D%E6%B7%B1%E5%9C%B3"
Utility.url_escape "深圳"
#=> "%E6%B7%B1%E5%9C%B3"
# url unescape
Utility.url_unescape "http://example.com/search?q=%23ruby&from=%E6%B7%B1%E5%9C%B3"
#=> "http://example.com/search?q=#ruby&from=深圳"
Utility.url_unescape "http%3A%2F%2Fexample.com%2Fsearch%3Fq%3D%23ruby%26from%3D%E6%B7%B1%E5%9C%B3"
#=> "http://example.com/search?q=#ruby&from=深圳"
Utility.url_unescape "%E6%B7%B1%E5%9C%B3"
#=> "深圳"
# html escape/unescape
Utility.html_escape "<p>some text</p>" #=> "<p>some text</p>"
Utility.html_unescape "<p>some text</p>" #=> "<p>some text</p>"
Utility.html_unescape "©2017" #=> "©2017"
# html text
Utility.html_text("<p>This <span>is</span> <p>plain</p> text</p>")
#=> "This is plain text"
computer info
# hostname/ip/mac/os/arch
Utility.get_hostname #=> "Charles"
Utility.get_ip #=> "192.168.12.26"
Utility.get_mac #=> "c8:60:00:10:ec:ee"
Utility.get_os #=> "linux"
Utility.get_arch #=> 64
try
# use 'try' as same as in rails
self.try :class #=> Object
self.try(:conf).try :ap_name #=> "irb"
Utility.try{ Date.current.year.size } #=> nil
#=> nil
others
# mobile caller location query (China)
Utility.mobile_caller_location 13812345678 #=> "江苏连云港 中国移动 GSM"
License
Released under the MIT license. See LICENSE file for details.