RubyGems Navigation menu

baf 0.15.1

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

Gemfile:
= Copy to clipboard Copied!

install:
=

Versions:

  1. 0.15.1 - July 06, 2022 (9.5 KB)
  2. 0.15.0 - June 12, 2022 (9.5 KB)
  3. 0.14.1 - November 04, 2020 (8 KB)
  4. 0.14.0 - October 22, 2017 (8 KB)
  5. 0.13.0 - October 22, 2017 (8 KB)
Show all versions (23 total)

Development Dependencies (3):

cucumber ~> 3.2
rake >= 0
rspec ~> 3.11

Owners:

Pushed by:

Authors:

  • Thibault Jouan

SHA 256 checksum:

ec58e179d88693e833e1388753900bbe50ed9a890d8f57578841131d33c7283e

Total downloads 49,232

For this version 898

License:

BSD-3-Clause

Required Ruby Version: >= 0

Links: