NAME
sash - Sweet Ass Shell
VERSION
This documentation refers to version 1.0
DESCRIPTION
This tool is a shell to some common data sources. It was inspired by the many character based database tools so that I could work with the Salesforce.com API in the same manner. I simply wanted a CUI that worked on all of the different machines that I work on including my ssh sessions.
After building the tool to behave similarly to the mysql client I rewrote it so that it supported a Plugin API. Now in principle it can be used to communicate with any data source as long as a plugin has been written for it. See the "PLUGINS" section for a list of known plugins that you can download and start using. You can also search http://search.cpan.org for plugins as well in case the documentation here isn't up to date.
In addition to installing plugins that can be used with sash, you can also easily develop them. The "DEVELOPMENT" section covers the steps necessary to develop your own plugin for sash so you that you can extend its functionality and give back to the community.
COMMANDS
There are several built-in commands that you can type in from the command line in addition to the ones defined by the plugin you are using. The table below provides definitions of the commands. For commands with an alias defined you can type the alias instead of the full command name. It saves some keystrokes.
clear [alias: c]
Clears and resets the editable command buffer.
edit [alias: e]
Brings the current command buffer into your favorite editor as defined by your EDITOR environment variable.
history [alias: h]
Shows the current command history. Its a known bug of another modules "Term::ShellUI" that the command history appears to be doubled up. Its also a known bug that the bang syntax does NOT work.
list [alias: l]
List the currenct command buffer.
quit [alias: q|exit]
Disconnect from the datasource and exit your sash session.
reconnect
Attempt to re-establish a connection to the data source. This is useful for API based plugins where server based valiad sessions tend to expire quite rapidly.
result
Describe the concept of a result here.
Table of sub-commands is listed below with their descriptions:
all
This displays all of the results that have been obtained and manipulated for the last executed command.
limit [value]
Limit the number of records displayed in the current result set to the defined value. This is commonly done after a "result:sort" command.
redo
revert
search
sort [attribute] [asc|desc]
undo
set
output [tabular|vertical|perlval]
x
Use this command to introspect a defined variable. This is similar to the x command in the perl debugger but it provides a different type of synopsis of the value as provided by "Data::Dumper".
PLUGINS
Sash::Plugin::Salesforce
This plugin is for use with the Salesforce.com API or Apex API as it is presently called. You must have a valid Salesforce.com account before you can use it. Writing SOQL queries and viewing their results served as the birthpoint for sash.
Sash::Plugin::VerticalResponse
This plugin is for use with the VerticalResponse API http://www.verticalresponse.com/services/api.
DEVELOPMENT
This section documents the steps that are necessary to create a plugin for sash.
AUTHOR
Wes Bailey, <wes@verticalresponse.com>
BUGS
When you find a bug in this plugin please contact the author.
DEPENDENCIES
sash is really possible because of these fine modules available on cpan:
Term::ShellUI 0.85 http://search.cpan.org/~bronson/Term-ShellUI-0.85/lib/Term/ShellUI.pm
Data::Table 1.50 http://search.cpan.org/~ezdb/Data-Table-1.50/Table.pm
Text::ASCIITable 0.18 http://search.cpan.org/~lunatic/Text-ASCIITable-0.18/lib/Text/ASCIITable.pm
Term::ReadKey 2.30 http://search.cpan.org/~jstowe/TermReadKey-2.30/ReadKey.pm
Time::HiRes 1.86 http://search.cpan.org/~jhi/Time-HiRes-1.9707/HiRes.pm
COPYRIGHT
Copyright (C) 2007, Wesley H. Bailey, VerticalResponse Inc.
This program is free software. You may copy or redistribute it under the same terms as Perl itself.