Zarby
A library to Manipulate String with utiles methods.
Installation
Run:
bundle add zarby
Or install it yourself as:
$ gem install zarby
WARNING
:warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning:
V 0.1.6 (methods used wase depreciated and removed on 10/2024) for version (V 0.2.0)
:warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning: :warning:
Usage
Three module are available: CSV, Normelize And Anonymize
CSV
detect_separator(content|string)
Method to detecte delimiter in csv!
Since V 0.1.6 (depreciated and removed on 10/2024) :warning: :warning: :warning: :warning: :warning: :warning::warning: :warning: :warning:
Zarby::Csv.detect_separator("aa,bb,cc") # => ","
Zarby::Csv.detect_separator("aa;bb;cc") # => ";"
Zarby::Csv.detect_separator("aa,bb;cc,dd") # => ","
Zarby::Csv.detect_separator("aa;bb;cc,dd") # => ";"
Since V 0.1.7 :heart_eyes: :heart_eyes: :heart_eyes: :heart_eyes:
Zarby.detect_separator("aa,bb,cc") # => ","
Zarby.detect_separator("aa;bb;cc") # => ";"
Zarby.detect_separator("aa,bb;cc,dd") # => ","
Zarby.detect_separator("aa;bb;cc,dd") # => ";"
detect_separator, render the separator, define in a csv on XXXX ms.
[',', ';', ':', '|'], is available by default.
Normalize
utf8(input|string)
Method to utf8 encode all caracters in a string (since widows , sweden enoding, etc ...).
Since V 0.1.6 (depreciated and removed on 10/2024) :warning: :warning: :warning: :warning: :warning: :warning::warning: :warning: :warning:
Zarby::Normalize.utf8("Aa\xFCAa\xDF".force_encoding('Windows-1252')) # => "AaüAaß
# actually Windows-1252
Zarby::Normalize.utf8("Aa\xFCAa\xDF".force_encoding('ASCII-8BIT')) # => "AaüAaß"
# actually Windows-1252
Zarby::Normalize.utf8("Dur\xC3\xA9e".force_encoding('ASCII-8BIT')) # => "AaüAaß"
Zarby::Normalize.utf8("Aa\x80Aa\x81".force_encoding('ASCII-8BIT')) # => "AaüAaß"
Since V 0.1.7 :heart_eyes: :heart_eyes: :heart_eyes: :heart_eyes:
Zarby.utf8("Aa\xFCAa\xDF".force_encoding('Windows-1252')) # => "AaüAaß
# actually Windows-1252
Zarby.utf8("Aa\xFCAa\xDF".force_encoding('ASCII-8BIT')) # => "AaüAaß"
# actually Windows-1252
Zarby.utf8("Dur\xC3\xA9e".force_encoding('ASCII-8BIT')) # => "AaüAaß"
Zarby.utf8("Aa\x80Aa\x81".force_encoding('ASCII-8BIT')) # => "AaüAaß"
Anonymize
anonymize(input|string, nb_chars|int \ 2, mask_with|string \ '*')
Method to anonymize a string.
Zarby.anonymize("z") # => "**"
Zarby.anonymize("za") # => "**"
Zarby.anonymize("zar") # => "z*r"
Zarby.anonymize("zarb") # => "z**b"
Zarby.anonymize("zarby") # => "za*by"
Zarby.anonymize("mewtwo") # => "me**wo"
Zarby.anonymize("Ectoplasma") # => "Ec******ma"
anonymize try to set '*' between two first and two last letter of the string if lenght greater than 4.
if string length between 1 to 2, return .
if string length = 3 return a*a.
if string length = 4 return aa.
if "@" is present, render anonymize string before and after "@", and kept "@" symbole.
exemple:
Zarby.anonymize("z@z") # => "**@**"
Zarby.anonymize("za@za") # => "**@**"
Zarby.anonymize("zar@zar") # => "z*r@z*r"
Zarby.anonymize("zarb@zarb") # => "z**b@z**b"
Zarby.anonymize("zarby@zarby") # => "za*by@za*by"
Zarby.anonymize("mewtwo@mewtwo") # => "me**wo@me**wo"
Zarby.anonymize("Ectoplasma@Ectoplasma") # => "Ec******ma@Ec******ma"
## Using multiple "@"
Zarby.anonymize("pichu@pikachu@raichu") # => "pi*hu@pi***hu@ra**hu"
Zarby.anonymize("@fantominus@spectrum@ectoplasma@") # => "**@fa******us@sp****um@ec******ma"
Contributing
Bug report and pull request are welcome on GitHub at https://github.com/zarby-ruby/zarby.