Sha256: 1a2ae8866845e3d1fbe01686aa6a2f8eb890f2df4adc31c249ddffe3217ca228

Contents?: true

Size: 1.87 KB

Versions: 2

Compression:

Stored size: 1.87 KB

Contents

#!/usr/bin/env ruby
$: << File.expand_path('lib')

<%= run sq(<<-'rb')
    require 'cl'

    module Opts
      class Bool < Cl::Cmd
        arg :bool, type: :bool

        def run
          p cmd: registry_key, bool: bool
        end
      end

      class Types < Cl::Cmd
        arg :a, type: :bool
        arg :b, type: :int
        arg :c, type: :float
        arg :d

        def run
          p cmd: registry_key, a: a, b: b, c: c, d: d
        end
      end
    end
  rb
-%>

<%= run 'Cl.new($0).run(%w(bool on))' %>

<%= out '{:cmd=>:bool, :bool=>true}' %>

<%= run 'Cl.new($0).run(%w(types true 1 1.2 foo))' %>

<%= out '{:cmd=>:types, :a=>true, :b=>1, :c=>1.2, :d=>"foo"}' %>

<%= run 'Cl.new($0).run(%w(types true 1 1.2 foo bar))' %>

<%= out sq(<<-'str')
    Too many arguments: true 1 1.2 foo bar (given: 5, allowed: 4)

    Usage: bin/examples types [a:bool] [b:int] [c:float] [d] [options]

    Arguments:

      a           type: bool
      b           type: int
      c           type: float
      d           type: string

    Options:

      --help      Get help on this command
  str
%>

<%= run 'Cl.new($0).run(%w(types true one 1.2))' %>

<%= out sq(<<-'str')
    Wrong argument type (given: "one", expected: int)

    Usage: bin/examples types [a:bool] [b:int] [c:float] [d] [options]

    Arguments:

      a           type: bool
      b           type: int
      c           type: float
      d           type: string

    Options:

      --help      Get help on this command
  str
%>

<%= run 'Cl.new($0).run(%w(types true 1 one))' %>

<%= out sq(<<-'str')
    Wrong argument type (given: "one", expected: float)

    Usage: bin/examples types [a:bool] [b:int] [c:float] [d] [options]

    Arguments:

      a           type: bool
      b           type: int
      c           type: float
      d           type: string

    Options:

      --help      Get help on this command
  str
%>

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cl-1.2.2 examples/_src/args/opts.erb.rb
cl-1.2.1 examples/_src/args/opts.erb.rb