monorepo / mono source tree tools, libraries & scripts
Reason No. 1
After starting of too many scripts (hundreds?) with
adding more and always repeating the same dozen modules with require e.g.:
require 'pp'
require 'time'
require 'date'
require 'json'
require 'yaml'
require 'base64'
require 'fileutils'
require 'uri'
require 'net/http'
require 'net/https'
...
why not use a more “inclusive” prelude & prolog and
replace the above with a one-liner:
require 'cocos' # auto-include code commons quick-starter prelude & prolog
Reason No. 2
After reading too many text files in utf-8 and always repeating the same open / read and code block dance e.g.:
txt = File.read( "history.txt" )
# sorry - will NOT guarantee unicode utf8-encoding
# (e.g. on microsoft windows it is ISO Code Page (CP-1252
# or something - depending on your locale/culture/language)
txt = File.open( "history.txt", "r:utf-8" ) do |f|
f.read
end
Or after reading and parsing too many json files
(by default always required utf-8 encoding)
and always repeating the same open / read and code block dance
again and again e.g.:
txt = File.open( "history.json", "r:utf-8" ) do |f|
f.read
end
data = JSON.parse( txt )
Why not use read convenience / short-cut helpers such as:
txt = read_txt( "history.txt" )
data = read_json( "history.json" )
And so on.
Read / parse convenience short-cut helpers
read_blob( path )
read_text( path )
also known as read_txt
read_lines( path )
read_json( path )
/ parse_json( str )
read_yaml( path )
/ parse_yaml( str )
also known as read_yml
/ parse_yml
read_csv( path )
/ parse_csv( str )
note: comma-separated values (.csv) reading & parsing service
brought to you by the csvreader library / gem »
read_data( path )
/ parse_data( str )
note: alternate csv reader / parser; reads data WITHOUT headers, that is, named columns - returns data array not named hash (table)
read_tab( path )
/ parse_tab( str )
note: tabulator (\t
)-separated values (.tab) reading & parsing service
brought to you by the tabreader library / gem »
read_ini( path )
/ parse_ini( str )
also known as read_conf / parse_conf
note: ini / conf(ig) reading & parsing service
brought to you by the iniparser library / gem »
That’s it for now.
The cocos
scripts are dedicated to the public domain.
Use it as you please with no restrictions whatsoever.