README.md

Description

boson-more is a collection of useful boson plugins. These plugins add features
such as allowing boson to be used from irb, optional automated views generated
by hirb and allowing libraries to be written as plain ruby. For my libraries
that use this, see irbfiles.

Usage

To use all of the plugins, add this to ~/.bosonrc:

require 'boson/more'

To only use certain plugins, require those plugins in ~/.bosonrc.

When using all plugins, you can use boson in irb/ripl by dropping this in ~/.irbrc:

require 'boson/console'
Boson.start

List of Plugins

boson/alias - Adds aliasing to commands. Requires alias gem.

boson/console - Allows for boson to be used in a ruby console.

boson/libraries - Adds several libraries. Necessary for using old boson.

Features

Simple organization: Commands are just methods on an object (default is main)
and command libraries are just modules.

Commands are accessible from the commandline (Boson::BinRunner) or irb
(Boson::ConsoleRunner).

Libraries

can be written in plain ruby which allows for easy testing and use
independent of boson (Boson::FileLibrary).

can exist locally as a Bosonfile (Boson::LocalFileLibrary) and under
lib/boson/commands or .boson/commands.

can be made from gems (Boson::GemLibrary) or any require-able file
(Boson::RequireLibrary).

are encouraged to be shared. Libraries can be installed with a given url.
Users can customize any aspect of a third-party library without modifying it
(Boson::Library).

Commands

can have any number of local and global options (Boson::OptionCommand).
Options are defined with Boson::OptionParser.

can have any view associated to it (via Hirb) without adding view code to
the command's method. These views can be toggled on and manipulated via
global render options (Boson::View and Boson::OptionCommand).

can pipe their return value into custom pipe options (Boson::Pipe).

has default pipe options to search and sort an array of any objects
(Boson::Pipes).