Skip to content

cocos (code commons) - auto-include quick-starter prelude & prolog

License

Notifications You must be signed in to change notification settings

rubycocos/cocos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Aug 20, 2024
5ae85ba · Aug 20, 2024

History

34 Commits
Aug 20, 2024
Aug 20, 2024
Aug 20, 2024
Aug 20, 2024
Aug 1, 2022
Aug 20, 2024
Oct 31, 2020
Sep 5, 2023
Aug 20, 2024
Aug 20, 2024

Repository files navigation

cocos (code commons) - auto-include quick-starter prelude & prolog

Intro - Why?

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.

Usage

Read / Parse

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.

License

The cocos scripts are dedicated to the public domain. Use it as you please with no restrictions whatsoever.