Rubygems | Latest Versions for baf
https://rubygems.org/gems
2023-09-30T11:59:34Z
baf (0.15.1)
https://rubygems.org/gems/baf/versions/0.15.1
2022-07-06T12:04:37Z
Thibault Jouan
Toolkit for testing and writing CLI programs
== Baf
baf helps writing an user acceptance test suite with a dedicated library
and cucumber steps. It can run and wait for programs in a modified
environment, verify the exit status, the output streams and other side
effects. It also supports interactive programs and writing to their
standard input.
Then, it provides a DSL to write the CLI:
require 'baf/cli'
module MyProgram
class CLI < Baf::CLI
def setup
flag_version '0.1.2'.freeze
option :c, :config, 'config', 'specify config file' do |path|
@config_path = path
end
end
def run
usage! unless arguments.any?
puts 'arguments: %s' % arguments
puts 'config: %s' % @config_path if @config_path
end
end
end
MyProgram::CLI.run ARGV
Which behaves this way:
% ./my_program
Usage: my_program [options]
options:
-c, --config config specify config file
-h, --help print this message
-V, --version print version
zsh: exit 64 ./my_program
% ./my_program --wrong-arg
Usage: my_program [options]
options:
-c, --config config specify config file
-h, --help print this message
-V, --version print version
zsh: exit 64 ./my_program --wrong-arg
% ./my_program foo
arguments ["foo"]
% ./my_program -c some_file foo
arguments ["foo"]
config path some_file
baf (0.15.0)
https://rubygems.org/gems/baf/versions/0.15.0
2022-06-12T11:15:40Z
Thibault Jouan
Toolkit for testing and writing CLI programs
baf helps writing an user acceptance test suite with a dedicated library
and cucumber steps. It can run and wait for programs in a modified
environment, verify the exit status, the output streams and other side
effects. It also supports interactive programs and writing to their
standard input.
Then, it provides a DSL to write the CLI:
require 'baf/cli'
module MyProgram
class CLI < Baf::CLI
def setup
flag_version '0.1.2'.freeze
option :c, :config, 'config', 'specify config file' do |path|
@config_path = path
end
end
def run
usage! unless arguments.any?
puts 'arguments: %s' % arguments
puts 'config: %s' % @config_path if @config_path
end
end
end
MyProgram::CLI.run ARGV
Which behaves this way:
% ./my_program
Usage: my_program [options]
options:
-c, --config config specify config file
-h, --help print this message
-V, --version print version
zsh: exit 64 ./my_program
% ./my_program --wrong-arg
Usage: my_program [options]
options:
-c, --config config specify config file
-h, --help print this message
-V, --version print version
zsh: exit 64 ./my_program --wrong-arg
% ./my_program foo
arguments ["foo"]
% ./my_program -c some_file foo
arguments ["foo"]
config path some_file
baf (0.14.1)
https://rubygems.org/gems/baf/versions/0.14.1
2020-11-04T09:19:39Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.14.0)
https://rubygems.org/gems/baf/versions/0.14.0
2017-10-22T04:25:43Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.13.0)
https://rubygems.org/gems/baf/versions/0.13.0
2017-10-22T02:11:09Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.12.0)
https://rubygems.org/gems/baf/versions/0.12.0
2017-05-11T08:14:16Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.11.0)
https://rubygems.org/gems/baf/versions/0.11.0
2017-04-28T09:01:08Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.10.0)
https://rubygems.org/gems/baf/versions/0.10.0
2017-04-23T19:14:26Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.9.1)
https://rubygems.org/gems/baf/versions/0.9.1
2017-02-12T14:46:03Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.9.0)
https://rubygems.org/gems/baf/versions/0.9.0
2017-01-22T23:35:56Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.8.0)
https://rubygems.org/gems/baf/versions/0.8.0
2016-11-13T16:06:10Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.7.0)
https://rubygems.org/gems/baf/versions/0.7.0
2016-11-13T16:05:41Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.6.2)
https://rubygems.org/gems/baf/versions/0.6.2
2016-11-01T16:52:30Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.6.1)
https://rubygems.org/gems/baf/versions/0.6.1
2016-11-01T16:50:00Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.6.0)
https://rubygems.org/gems/baf/versions/0.6.0
2016-09-23T12:46:25Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.5.0)
https://rubygems.org/gems/baf/versions/0.5.0
2016-09-23T12:44:12Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.4.0)
https://rubygems.org/gems/baf/versions/0.4.0
2016-03-28T10:28:34Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.2.1)
https://rubygems.org/gems/baf/versions/0.2.1
2016-03-27T19:00:19Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.2.0)
https://rubygems.org/gems/baf/versions/0.2.0
2016-03-27T18:59:18Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.1.1)
https://rubygems.org/gems/baf/versions/0.1.1
2016-03-10T21:05:07Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.1.0)
https://rubygems.org/gems/baf/versions/0.1.0
2016-03-08T21:21:16Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.0.3)
https://rubygems.org/gems/baf/versions/0.0.3
2016-03-05T15:08:16Z
Thibault Jouan
Basic Application Framework
Basic Application Framework
baf (0.0.2)
https://rubygems.org/gems/baf/versions/0.0.2
2016-02-22T22:42:07Z
Thibault Jouan
Basic Application Framework
Basic Application Framework