GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Passed
Push — master ( 65d59e...041ee4 )
by Anton
03:15
created

AutocompleteCommand   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 97
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
dl 0
loc 97
ccs 7
cts 7
cp 1
rs 10
c 0
b 0
f 0
wmc 3
lcom 0
cbo 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 9 1
B execute() 0 81 2
1
<?php
2
/* (c) Anton Medvedev <[email protected]>
3
 *
4
 * For the full copyright and license information, please view the LICENSE
5
 * file that was distributed with this source code.
6
 */
7
8
namespace Deployer\Console;
9
10
use Symfony\Component\Console\Command\Command;
11
use Symfony\Component\Console\Input\InputInterface;
12
use Symfony\Component\Console\Input\InputOption;
13
use Symfony\Component\Console\Output\OutputInterface;
14
15
class AutocompleteCommand extends Command
16
{
17 8
    public function __construct()
18
    {
19 8
        parent::__construct('autocomplete');
20 8
        $this->addOption(
21 8
            '--install',
22 8
            null,
23 8
            InputOption::VALUE_NONE
24
        );
25 8
    }
26
27
    /**
28
     * {@inheritdoc}
29
     */
30
    protected function execute(InputInterface $input, OutputInterface $output)
31
    {
32
        if ($input->getOption('install')) {
33
            $output->write(<<<'BASH'
34
#!/bin/bash
35
36
_deployer()
37
{
38
    local cur script com opts
39
    COMPREPLY=()
40
    _get_comp_words_by_ref -n : cur words
41
42
    # for an alias, get the real script behind it
43
    if [[ $(type -t ${words[0]}) == "alias" ]]; then
44
        script=$(alias ${words[0]} | sed -E "s/alias ${words[0]}='(.*)'/\1/")
45
    else
46
        script=${words[0]}
47
    fi
48
49
    # lookup for command
50
    for word in ${words[@]:1}; do
51
        if [[ $word != -* ]]; then
52
            com=$word
53
            break
54
        fi
55
    done
56
57
    # completing for an option
58
    if [[ ${cur} == --* ]] ; then
59
        opts=$script
60
        [[ -n $com ]] && opts=$opts" -h "$com
61
        opts=$($opts --no-ansi 2>/dev/null | sed -n '/Options/,/^$/p' | sed -e '1d;$d' | sed 's/[^--]*\(--.*\)/\1/' | sed -En 's/[^ ]*(-(-[[:alnum:]]+){1,}).*/\1/p' | awk '{$1=$1};1'; exit ${PIPESTATUS[0]});
62
        [[ $? -eq 0 ]] || return 0;
63
        COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
64
        __ltrim_colon_completions "$cur"
65
66
        return 0
67
    fi
68
		
69
    # completing for a command
70
    if [[ $cur == $com ]]; then
71
        coms=$($script list --raw 2>/dev/null | awk '{print $1}'; exit ${PIPESTATUS[0]})
72
        [[ $? -eq 0 ]] || return 0;
73
        COMPREPLY=($(compgen -W "${coms}" -- ${cur}))
74
        __ltrim_colon_completions "$cur"
75
76
        return 0;
77
    fi
78
}
79
80
complete -o default -F _deployer dep
81
82
BASH
83
            );
84
        } else {
85
            $output->write(<<<'HELP'
86
To install Deployer autocomplete run one of the following commands:            
87
            
88
<comment># Bash (Ubuntu/Debian)</comment>
89
90
  dep autocomplete --install | sudo tee /etc/bash_completion.d/deployer
91
92
<comment># Bash (Mac OSX with Homebrew "bash-completion")</comment>
93
94
  dep autocomplete --install > $(brew --prefix)/etc/bash_completion.d/deployer
95
96
<comment># Zsh</comment>
97
98
  dep autocomplete --install > ~/.deployer_completion && echo "source ~/.deployer_completion" >> ~/.zshrc
99
100
<comment># Fish</comment>
101
102
  dep autocomplete --install > ~/.config/fish/completions/deployer.fish
103
104
Autocomplete will be working after restarting terminal or you can run "source ~/.bash_profile", etc.
105
106
HELP
107
            );
108
109
        }
110
    }
111
}
112