README.rdoc in boson-0.2.0 vs README.rdoc in boson-0.2.1

- old
+ new

@@ -4,24 +4,34 @@ Works with Ruby 1.8.6 and 1.9.1. Note: To read a linkable version of this README, {see here}[http://tagaholic.me/boson/doc/]. == Features -* Commands are just methods extended for a given object, the default being the top level object, main. +* 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). -* Command libraries, which are just modules, are written in non-dsl ruby which allows for easy testing - and use outside of boson (Boson::FileLibrary). +* 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 multiple commands with pipe options. Default pipe options give the ability + to search and sort an array of any objects (Boson::Pipe). +* Option parser (Boson::OptionParser) + * provides option types that map to objects i.e. :array type creates Array objects. + * come with 5 default option types: boolean, array, string, hash and numeric. + * can have have custom option types defined by users (Boson::Options). * Comes with default commands to load, search, list and install commands and libraries (Boson::Commands::Core). -* Commands can be full-blown commandline apps thanks to powerful options (Boson::OptionParser) - and hirb's views. -* There are 5 default option types: boolean, array, string, hash and numeric. Custom option types - can be defined to map to any Ruby class with one method (Boson::Options). -* Commands can have views toggled without adding view code to the original command (Boson::Scientist). -* Command libraries are social as a user can install them from a url and then customize command - names and options without changing the original library. * Namespaces are optional and when used are methods which allow for method_missing magic. +== Creating Command Libraries +See Boson::FileLibrary or here[http://tagaholic.me/boson/doc/classes/Boson/FileLibrary.html]. + == Irb Example To use in irb, drop this in your ~/.irbrc: require 'boson' Boson.start @@ -130,17 +140,14 @@ +-------------------------------+----------+------------+--------------------------------------------+-----------------------------------------------------------------------------+ 28 rows in set # Sweet! Now we have a list and description of commands that come with irb. -== Creating Command Libraries -See Boson::FileLibrary or here[http://tagaholic.me/boson/doc/classes/Boson/FileLibrary.html]. - == Todo * More tests * Making commands out of existing gems easier and more powerful -* Better local repositories, perhaps a BosonFile * Consider managing extensions to core and standard libraries +* Features based on commands and their argument types i.e. aliasing, completion, piping * Consider dropping alias gem dependency if not using its full potential == Bugs/Issues Please report them {on github}[http://github.com/cldwalker/boson/issues].