Sha256: e22f710989f024b023f1ac8cf339b9b170eab0447a66b2e3f875fe4995b4f705

Contents?: true

Size: 1.85 KB

Versions: 13

Compression:

Stored size: 1.85 KB

Contents

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

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

    module Cast
      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 (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

13 entries across 13 versions & 1 rubygems

Version Path
cl-1.2.0 examples/_src/args/cast.erb.rb
cl-1.1.5 examples/_src/args/cast.erb.rb
cl-1.1.4 examples/_src/args/cast.erb.rb
cl-1.1.3 examples/_src/args/cast.erb.rb
cl-1.1.2 examples/_src/args/cast.erb.rb
cl-1.1.1 examples/_src/args/cast.erb.rb
cl-1.1.0 examples/_src/args/cast.erb.rb
cl-1.0.5 examples/_src/args/cast.erb.rb
cl-1.0.4 examples/_src/args/cast.erb.rb
cl-1.0.3 examples/_src/args/cast.erb.rb
cl-1.0.2 examples/_src/args/cast.erb.rb
cl-1.0.1 examples/_src/args/cast.erb.rb
cl-1.0.0 examples/src/args/cast.erb.rb