Complexity Score
Low
Open Issues
N/A
Dependent Projects
8
Weekly Downloadsglobal
53
License
- MIT
- Yesattribution
- Permissivelinking
- Permissivedistribution
- Permissivemodification
- Nopatent grant
- Yesprivate use
- Permissivesublicensing
- Notrademark grant
Downloads
Readme
Command Builder
command-builder builds command runnable from shell by simple and
ellegant way. Also allows both synchronous executing or asynchronous
one using EventMachine. Here is an real example of call
to jpegoptim
:
require "command-builder"
cmd = CommandBuilder::new(:jpegoptim)
cmd.arg(:m, 2)
cmd << :preserve
cmd << "image.jpg"
cmd.to_s # will return 'jpegoptim -m 2 --preserve image.jpg'
Value escaping and assignments are supported automatically of sure, so call:
cmd.arg(:dest, './it\'s "my" folder')
…will be interpreted as jpegoptim --dest="it's \"my\" folder"
. It also
takes spaces into the account.
Executing
Command can be executed directly by call:
cmd.execute! # for synchronous executing or...
cmd.execute do |output| # ...for asynchronous executing
# ...
end
Asynchronous executing requires EventMachine environment to be run.
Flexibility
Syntax described above is supported by default, but you can achieve for example an Windows like syntax:
jpegoptim /m:2 -dest "directory"
…simply by assigning:
cmd.separators = ["/", ":", "-", " "]
For illustration, the default one is ["-", " ", "--", "="]
.
Copyright
Copyright © 2011 – 2015 Martin Poljak. See LICENSE.txt
for
further details.
Dependencies
No runtime dependency information found for this package.
CVE IssuesActive
0
Scorecards Score
No Data
Test Coverage
No Data
Follows Semver
Yes
Github Stars
7
Dependenciestotal
3
DependenciesOutdated
0
DependenciesDeprecated
0
Threat Modelling
No
Repo Audits
No
Learn how to distribute command-builder in your own private RubyGems registry
8 Releases
RubyGems on Cloudsmith