API-CLI

 view release on metacpan or  search on metacpan

examples/bash/metacpancl.bash  view on Meta::CPAN

                case ${MYWORDS[$INDEX-1]} in
                  --data-file)
                  ;;

                esac
                ;;
            esac
          ;;
          /pod/:module)
            FLAGS+=()
            OPTIONS+=('--q-content-type' 'Default is text/html')
            __metacpancl_handle_options_flags
              case $INDEX in
              2)
                  __comp_current_options || return
              ;;
              *)
                __comp_current_options true || return # after parameters
                case ${MYWORDS[$INDEX-1]} in
                  --data-file)
                  ;;
                  --q-content-type)
                    _metacpancl_compreply "'text/html'"$'\n'"'text/plain'"$'\n'"'text/x-pod'"$'\n'"'text/x-markdown'"
                  ;;

                esac
                ;;
            esac
          ;;
          /release/:author/:release)
            FLAGS+=()
            OPTIONS+=()

examples/html/digitaloceancl.html  view on Meta::CPAN

<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:root@localhost" />
</head>

<body>



<ul id="index">
  <li><a href="#NAME">NAME</a></li>
  <li><a href="#ABSTRACT">ABSTRACT</a></li>

examples/html/githubcl.html  view on Meta::CPAN

<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:root@localhost" />
</head>

<body>



<ul id="index">
  <li><a href="#NAME">NAME</a></li>
  <li><a href="#ABSTRACT">ABSTRACT</a></li>

examples/html/metacpancl.html  view on Meta::CPAN

<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:root@localhost" />
</head>

<body>



<ul id="index">
  <li><a href="#NAME">NAME</a></li>
  <li><a href="#ABSTRACT">ABSTRACT</a></li>

examples/html/metacpancl.html  view on Meta::CPAN

<pre><code>    module  *  Module name</code></pre>

<h3 id="GET-pod-:module">GET /pod/:module</h3>

<pre><code>    metacpancl GET /pod/:module [options] &lt;module&gt;</code></pre>

<p>Module POD</p>

<p>Options:</p>

<pre><code>    --q-content-type    Default is text/html</code></pre>

<p>Parameters:</p>

<pre><code>    module  *  Module name</code></pre>

<h3 id="GET-release-:author-:release">GET /release/:author/:release</h3>

<pre><code>    metacpancl GET /release/:author/:release &lt;author&gt; &lt;release&gt;</code></pre>

<p>Release information</p>

examples/metacpancl-appspec.yaml  view on Meta::CPAN

          name: module
          required: true
          type: string
        - description: Default is text/html
          enum: &1
          - text/html
          - text/plain
          - text/x-pod
          - text/x-markdown
          in: query
          name: content-type
          type: string
    /release/:author/:release:
      get:
        description: Release information
        parameters:
        - description: CPAN handle
          in: path
          name: author
          required: true
          type: string

examples/metacpancl-appspec.yaml  view on Meta::CPAN

        options: []
        parameters:
        - name: module
          required: 1
          summary: Module name
          type: string
        summary: Module information
      /pod/:module:
        options:
        - enum: *1
          name: q-content-type
          required: ~
          summary: Default is text/html
          type: string
        parameters:
        - name: module
          required: 1
          summary: Module name
          type: string
        summary: Module POD
      /release/:author/:release:

examples/metacpancl-openapi.yaml  view on Meta::CPAN

    get:
      description: Module POD
      parameters:
        -
          name: module
          in: path
          type: string
          required: true
          description: Module name
        -
          name: content-type
          in: query
          type: string
          enum: [text/html, text/plain, text/x-pod, text/x-markdown]
          description: Default is text/html

  /release/_search:
    get:
      description: Search releases
      parameters:
        -

examples/pod/metacpancl.pod  view on Meta::CPAN

    module  *  Module name

=head3 GET /pod/:module

    metacpancl GET /pod/:module [options] <module>

Module POD

Options:

    --q-content-type    Default is text/html

Parameters:

    module  *  Module name

=head3 GET /release/:author/:release

    metacpancl GET /release/:author/:release <author> <release>

Release information

examples/zsh/_metacpancl  view on Meta::CPAN

                            '1: :->cmd1' \
                            '2: :->cmd2' \
                            '3: :->module' \
                            '--data-file[File with data for POST/PUT/PATCH/DELETE requests]:data-file:_files' \
                            '--debug[debug]' \
                            '-d[debug]' \
                            '--verbose[verbose]' \
                            '-v[verbose]' \
                            '--help[Show command help]' \
                            '-h[Show command help]' \
                            '--q-content-type[Default is text/html]:q-content-type:("text/html" "text/plain" "text/x-pod" "text/x-markdown")' \
                            && ret=0

                        case $state in
                        module)

                        ;;
                        esac

                    ;;
                    /release/:author/:release)

lib/API/CLI.pm  view on Meta::CPAN

    # 1. parameter: owner
    # 2. parameter: repo
    % githubcl GET /repos/:owner/:repo perlpunk API-CLI-p5

The generated help will show all methods, endpoints, parameters and
options.

Query parameters are represented as command line options starting with
C<--q->:

    % metacpancl GET /pod/:module App::Spec --q-content-type text/x-pod
    =head1 NAME

    App::Spec - Specification for commandline apps
    ...

It can also generate shell tab completion:

     % metacpancl <TAB>
     GET   -- GET call
     POST  -- POST call
     help  -- Show command help

     % digitaloceancl GET /<TAB>
     /account       -- Account information
     /droplets      -- List all droplets
     /droplets/:id  -- Retrieve a droplet by id

     % metacpancl GET /pod/:module App::Spec --q-content-type text/<TAB>
     text/html        text/plain       text/x-markdown  text/x-pod

Bash users: Note that completion for options and parameters currently does not
work.



=head1 METHODS

=over 4



( run in 0.846 second using v1.01-cache-2.11-cpan-fa01517f264 )