Class: Geet::Commandline::Configuration

Inherits:
Object
  • Object
show all
Includes:
Commands
Defined in:
lib/geet/commandline/configuration.rb

Constant Summary collapse

GIST_CREATE_OPTIONS =

Command options

[
  ['-p', '--public'],
  ['-B', '--no-browse', "Don't open the gist link in the browser after creation"],
  'filename',
  '[description]'
].freeze
ISSUE_CREATE_OPTIONS =

SimpleScripting 0.9.3 doesn’t allow frozen arrays when hash options are present.

rubocop:disable Style/MutableConstant

[
  ['-n', '--no-open-issue',                           "Don't open the issue link in the browser after creation"],
  ['-l', '--labels "bug,help wanted"',                'Labels'],
  ['-m', '--milestone 1.5.0',                         'Milestone title pattern'],
  ['-a', '--assignees john,tom,adrian,kevin',         'Assignee logins'],
  ['-s', '--summary title_and_description',           'Set the summary (title and optionally description'],
  ['-u', '--upstream',                                'Create on the upstream repository'],
  long_help: 'The default editor will be opened for editing title and description.'
]
LABEL_CREATE_OPTIONS =
[
  ['-c', '--color color',                             '6-digits hex color; if not specified, a random one is created'],
  ['-u', '--upstream',                                'Create on the upstream repository'],
  'name',
].freeze
ISSUE_LIST_OPTIONS =
[
  ['-a', '--assignee john',                           'Assignee login'],
  ['-u', '--upstream',                                'List on the upstream repository'],
].freeze
LABEL_LIST_OPTIONS =
[
  ['-u', '--upstream',                                'List on the upstream repository'],
].freeze
MILESTONE_CLOSE_OPTIONS =
[
  long_help: 'Close milestones.'
]
MILESTONE_CREATE_OPTIONS =
[
  'title',
  long_help: 'Create a milestone.'
]
MILESTONE_LIST_OPTIONS =
[
  ['-u', '--upstream',                                'List on the upstream repository'],
].freeze
PR_COMMENT_OPTIONS =
[
  ['-n', '--no-open-pr',                              "Don't open the PR link in the browser after creation"],
  ['-u', '--upstream',                                'Comment on the upstream repository'],
  'comment',
  long_help: 'Add a comment to the PR for the current branch.'
]
PR_CREATE_OPTIONS =
[
  ['-n', '--no-open-pr',                              "Don't open the PR link in the browser after creation"],
  ['-b', '--base develop',                            "Specify the base branch; defaults to the main branch"],
  ['-d', '--draft',                                   "Create as draft"],
  ['-l', '--labels "legacy,code review"',             'Labels'],
  ['-m', '--milestone 1.5.0',                         'Milestone title pattern'],
  ['-r', '--reviewers john,tom,adrian,kevin',         'Reviewer logins'],
  ['-s', '--summary title_and_description',           'Set the summary (title and optionally description'],
  ['-u', '--upstream',                                'Create on the upstream repository'],
  long_help: <<~STR
    The default editor will be opened for editing title and description; if the PR adds one commit only, the content will be prepopulated with the commit description.

    The operation is aborted if the current tree is dirty.

    Before creating the PR, the local branch is pushed; if the remote branch is not present, it is created.
  STR
]
PR_LIST_OPTIONS =
[
  ['-u', '--upstream',                                'List on the upstream repository'],
].freeze
PR_MERGE_OPTIONS =

SimpleScripting 0.9.3 doesn’t allow frozen arrays when hash options are present.

rubocop:disable Style/MutableConstant

[
  ['-d', '--delete-branch',                           'Delete the branch after merging'],
  ['-u', '--upstream',                                'List on the upstream repository'],
  long_help: 'Merge the PR for the current branch'
]
PR_OPEN_OPTIONS =
[
  ['-u', '--upstream',                                'Open on the upstream repository'],
  long_help: 'Open in the browser the PR for the current branch'
]
REPO_ADD_UPSTREAM_OPTIONS =
[
  long_help: 'Add the upstream repository to the current repository (configuration).'
]
REPO_OPEN_OPTIONS =
[
  ['-u', '--upstream',                                'Open the upstream repository'],
  long_help: 'Open the current repository in the browser'
]
COMMANDS_DECODING_TABLE =

Commands decoding table

{
  'gist' => {
    'create' => GIST_CREATE_OPTIONS,
  },
  'issue' => {
    'create' => ISSUE_CREATE_OPTIONS,
    'list' => ISSUE_LIST_OPTIONS,
  },
  'label' => {
    'create' => LABEL_CREATE_OPTIONS,
    'list' => LABEL_LIST_OPTIONS,
  },
  'milestone' => {
    'close' => MILESTONE_CLOSE_OPTIONS,
    'create' => MILESTONE_CREATE_OPTIONS,
    'list' => MILESTONE_LIST_OPTIONS,
  },
  'pr' => {
    'comment' => PR_COMMENT_OPTIONS,
    'create' => PR_CREATE_OPTIONS,
    'list' => PR_LIST_OPTIONS,
    'merge' => PR_MERGE_OPTIONS,
    'open' => PR_OPEN_OPTIONS,
  },
  'repo' => {
    'add_upstream' => REPO_ADD_UPSTREAM_OPTIONS,
    'open' => REPO_OPEN_OPTIONS,
  },
}

Constants included from Commands

Geet::Commandline::Commands::GIST_CREATE_COMMAND, Geet::Commandline::Commands::ISSUE_CREATE_COMMAND, Geet::Commandline::Commands::ISSUE_LIST_COMMAND, Geet::Commandline::Commands::LABEL_CREATE_COMMAND, Geet::Commandline::Commands::LABEL_LIST_COMMAND, Geet::Commandline::Commands::MILESTONE_CLOSE_COMMAND, Geet::Commandline::Commands::MILESTONE_CREATE_COMMAND, Geet::Commandline::Commands::MILESTONE_LIST_COMMAND, Geet::Commandline::Commands::PR_COMMENT_COMMAND, Geet::Commandline::Commands::PR_CREATE_COMMAND, Geet::Commandline::Commands::PR_LIST_COMMAND, Geet::Commandline::Commands::PR_MERGE_COMMAND, Geet::Commandline::Commands::PR_OPEN_COMMAND, Geet::Commandline::Commands::REPO_ADD_UPSTREAM_COMMAND, Geet::Commandline::Commands::REPO_OPEN_COMMAND

Instance Method Summary collapse

Instance Method Details

#decode_argvObject

Public interface



147
148
149
# File 'lib/geet/commandline/configuration.rb', line 147

def decode_argv
  SimpleScripting::Argv.decode(COMMANDS_DECODING_TABLE)
end