Shufu
Shufu is a simple command line generator.
Installation
Add this line to your application's Gemfile:
gem 'shufu'And then execute:
$ bundle install
Or install it yourself as:
$ gem install shufu
Usage
require "shufu"
schema = {
git: {
commit: {
amend: :flag,
author: :equal
}
}
}
command = Shufu::Command.new(schema)
p command.to_s({ amend: true, author: "cc-kawakami" })
# => "git commit --amend --author=cc-kawakami"Schema
Hash
Hash value means that the key is a command.
{
git: {
#...
}
}Parameter
:param value means that the key is parameter.
{
git: {
add: {
path: :param
}
}
}Flag
:flag value means that the key is flag argument like --key.
When the input is true then the flag argument is output.
{
git: {
commit: {
amend: :flag
}
}
}Equal
:equal value means that the key's value is expected to set with = like --key=value.
{
git: {
commit: {
author: :equal
}
}
}Space
:space value means that the key's value is expected to set with space like --key value.
{
git: {
commit: {
author: :space
}
}
}Development
After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.