uffizzi-cli 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/uffizzi/shell.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'awesome_print'
4
+
3
5
  module Uffizzi
4
6
  module UI
5
7
  class Shell
@@ -13,10 +15,6 @@ module Uffizzi
13
15
  @shell.say(message)
14
16
  end
15
17
 
16
- def ask(msg, *args)
17
- @shell.ask(msg, *args)
18
- end
19
-
20
18
  def print_in_columns(messages)
21
19
  @shell.print_in_columns(messages)
22
20
  end
@@ -25,10 +23,21 @@ module Uffizzi
25
23
  @shell.print_table(table_data)
26
24
  end
27
25
 
26
+ def ask(message, *args)
27
+ answer = @shell.ask(message, *args)
28
+ options = args.last.is_a?(Hash) ? args.pop : {}
29
+ say("\n") unless options.fetch(:echo, true)
30
+ answer
31
+ end
32
+
28
33
  def last_message
29
34
  @shell.send(:stdout).string.strip
30
35
  end
31
36
 
37
+ def pretty_say(collection, index = true)
38
+ ap(collection, { index: index })
39
+ end
40
+
32
41
  def disable_stdout
33
42
  $stdout = StringIO.new
34
43
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Uffizzi
4
- VERSION = '0.5.0'
4
+ VERSION = '0.6.0'
5
5
  end
data/lib/uffizzi.rb CHANGED
@@ -17,5 +17,9 @@ module Uffizzi
17
17
  def ui
18
18
  @ui ||= Uffizzi::UI::Shell.new
19
19
  end
20
+
21
+ def root
22
+ @root ||= Pathname.new(File.expand_path('..', __dir__))
23
+ end
20
24
  end
21
25
  end
@@ -0,0 +1,65 @@
1
+ .\" generated with Ronn-NG/v0.9.1
2
+ .\" http://github.com/apjanke/ronn-ng/tree/0.9.1
3
+ .TH "CONFIG" "" "April 2022" ""
4
+ .SH "NAME"
5
+ \fBconfig\fR \- configure the Uffizzi command\-line interface (CLI)
6
+ .SH "SYNOPSIS"
7
+ .nf
8
+ uffizzi config COMMAND [UFFIZZI_WIDE_FLAG \|\.\|\.\|\.]
9
+ .fi
10
+ .SH "DESCRIPTION"
11
+ .nf
12
+ The uffizzi config command lets you configure this command\-line application\.
13
+ If COMMAND is not specified, uffizzi config launches an interactive set up
14
+ guide\.
15
+
16
+ For more information on configuration options, see:
17
+ https://docs\.uffizzi\.com/references/cli
18
+ .fi
19
+ .SH "UFFIZZI WIDE FLAGS"
20
+ .nf
21
+ These flags are available to all commands: \-\-project\. Run $ uffizzi
22
+ help for details\.
23
+ .fi
24
+ .SH "COMMANDS"
25
+ .nf
26
+ COMMAND is one of the following:
27
+
28
+ get\-value OPTION
29
+ Displays the value of the specified option\.
30
+
31
+ list
32
+ Lists all options and their values from the config file\.
33
+
34
+ set OPTION VALUE
35
+ Sets the value of the specified option\.
36
+
37
+ unset OPTION
38
+ Deletes the value of the specified option\.
39
+ .fi
40
+ .SH "OPTIONS"
41
+ .nf
42
+ OPTION is one of the following:
43
+
44
+ server
45
+ The server of the Uffizzi API service you want to access\. Defaults to
46
+ app\.uffizzi\.com\.
47
+
48
+ name
49
+ Your name\.
50
+
51
+ project
52
+ The current active project\. This project is used as the default unless
53
+ \-\-project is pass as an argument\.
54
+ .fi
55
+ .SH "EXAMPLES"
56
+ .nf
57
+ To list the uffizzi configuration options, run:
58
+
59
+ $ uffizzi config list
60
+
61
+ To set a new current active project for uffizzi, run:
62
+
63
+ $ uffizzi config set project my\-project
64
+ .fi
65
+
@@ -0,0 +1,144 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv='content-type' content='text/html;charset=utf8'>
5
+ <meta name='generator' content='Ronn-NG/v0.9.1 (http://github.com/apjanke/ronn-ng/tree/0.9.1)'>
6
+ <title>configure the Uffizzi command-line interface (CLI)</title>
7
+ <style type='text/css' media='all'>
8
+ /* style: man */
9
+ body#manpage {margin:0}
10
+ .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
11
+ .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
12
+ .mp h2 {margin:10px 0 0 0}
13
+ .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
14
+ .mp h3 {margin:0 0 0 4ex}
15
+ .mp dt {margin:0;clear:left}
16
+ .mp dt.flush {float:left;width:8ex}
17
+ .mp dd {margin:0 0 0 9ex}
18
+ .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
19
+ .mp pre {margin-bottom:20px}
20
+ .mp pre+h2,.mp pre+h3 {margin-top:22px}
21
+ .mp h2+pre,.mp h3+pre {margin-top:5px}
22
+ .mp img {display:block;margin:auto}
23
+ .mp h1.man-title {display:none}
24
+ .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
25
+ .mp h2 {font-size:16px;line-height:1.25}
26
+ .mp h1 {font-size:20px;line-height:2}
27
+ .mp {text-align:justify;background:#fff}
28
+ .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
29
+ .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
30
+ .mp u {text-decoration:underline}
31
+ .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
32
+ .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
33
+ .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
34
+ .mp b.man-ref {font-weight:normal;color:#434241}
35
+ .mp pre {padding:0 4ex}
36
+ .mp pre code {font-weight:normal;color:#434241}
37
+ .mp h2+pre,h3+pre {padding-left:0}
38
+ ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
39
+ ol.man-decor {width:100%}
40
+ ol.man-decor li.tl {text-align:left}
41
+ ol.man-decor li.tc {text-align:center;letter-spacing:4px}
42
+ ol.man-decor li.tr {text-align:right;float:right}
43
+ </style>
44
+ </head>
45
+ <!--
46
+ The following styles are deprecated and will be removed at some point:
47
+ div#man, div#man ol.man, div#man ol.head, div#man ol.man.
48
+
49
+ The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
50
+ .man-navigation should be used instead.
51
+ -->
52
+ <body id='manpage'>
53
+ <div class='mp' id='man'>
54
+
55
+ <div class='man-navigation' style='display:none'>
56
+ <a href="#NAME">NAME</a>
57
+ <a href="#SYNOPSIS">SYNOPSIS</a>
58
+ <a href="#DESCRIPTION">DESCRIPTION</a>
59
+ <a href="#UFFIZZI-WIDE-FLAGS">UFFIZZI WIDE FLAGS</a>
60
+ <a href="#COMMANDS">COMMANDS</a>
61
+ <a href="#OPTIONS">OPTIONS</a>
62
+ <a href="#EXAMPLES">EXAMPLES</a>
63
+ </div>
64
+
65
+ <ol class='man-decor man-head man head'>
66
+ <li class='tl'>config</li>
67
+ <li class='tc'></li>
68
+ <li class='tr'>config</li>
69
+ </ol>
70
+
71
+
72
+
73
+ <h2 id="NAME">NAME</h2>
74
+ <p class="man-name">
75
+ <code>config</code> - <span class="man-whatis">configure the Uffizzi command-line interface (CLI)</span>
76
+ </p>
77
+ <h2 id="SYNOPSIS">SYNOPSIS</h2>
78
+ <pre><code>uffizzi config COMMAND [UFFIZZI_WIDE_FLAG ...]
79
+ </code></pre>
80
+
81
+ <h2 id="DESCRIPTION">DESCRIPTION</h2>
82
+ <pre><code>The uffizzi config command lets you configure this command-line application.
83
+ If COMMAND is not specified, uffizzi config launches an interactive set up
84
+ guide.
85
+
86
+ For more information on configuration options, see:
87
+ https://docs.uffizzi.com/references/cli
88
+ </code></pre>
89
+
90
+ <h2 id="UFFIZZI-WIDE-FLAGS">UFFIZZI WIDE FLAGS</h2>
91
+ <pre><code>These flags are available to all commands: --project. Run $ uffizzi
92
+ help for details.
93
+ </code></pre>
94
+
95
+ <h2 id="COMMANDS">COMMANDS</h2>
96
+ <pre><code>COMMAND is one of the following:
97
+
98
+ get-value OPTION
99
+ Displays the value of the specified option.
100
+
101
+ list
102
+ Lists all options and their values from the config file.
103
+
104
+ set OPTION VALUE
105
+ Sets the value of the specified option.
106
+
107
+ unset OPTION
108
+ Deletes the value of the specified option.
109
+ </code></pre>
110
+
111
+ <h2 id="OPTIONS">OPTIONS</h2>
112
+ <pre><code> OPTION is one of the following:
113
+
114
+ server
115
+ The server of the Uffizzi API service you want to access. Defaults to
116
+ app.uffizzi.com.
117
+
118
+ name
119
+ Your name.
120
+
121
+ project
122
+ The current active project. This project is used as the default unless
123
+ --project is pass as an argument.
124
+ </code></pre>
125
+
126
+ <h2 id="EXAMPLES">EXAMPLES</h2>
127
+ <pre><code>To list the uffizzi configuration options, run:
128
+
129
+ $ uffizzi config list
130
+
131
+ To set a new current active project for uffizzi, run:
132
+
133
+ $ uffizzi config set project my-project
134
+ </code></pre>
135
+
136
+ <ol class='man-decor man-foot man foot'>
137
+ <li class='tl'></li>
138
+ <li class='tc'>April 2022</li>
139
+ <li class='tr'>config</li>
140
+ </ol>
141
+
142
+ </div>
143
+ </body>
144
+ </html>
@@ -0,0 +1,55 @@
1
+ uffizzi config - configure the Uffizzi command-line interface (CLI)
2
+ ================================================================
3
+
4
+ ## SYNOPSIS
5
+ uffizzi config COMMAND [UFFIZZI_WIDE_FLAG ...]
6
+
7
+ ## DESCRIPTION
8
+ The uffizzi config command lets you configure this command-line application.
9
+ If COMMAND is not specified, uffizzi config launches an interactive set up
10
+ guide.
11
+
12
+ For more information on configuration options, see:
13
+ https://docs.uffizzi.com/references/cli
14
+
15
+ ## UFFIZZI WIDE FLAGS
16
+ These flags are available to all commands: --project. Run $ uffizzi
17
+ help for details.
18
+
19
+ ## COMMANDS
20
+ COMMAND is one of the following:
21
+
22
+ get-value OPTION
23
+ Displays the value of the specified option.
24
+
25
+ list
26
+ Lists all options and their values from the config file.
27
+
28
+ set OPTION VALUE
29
+ Sets the value of the specified option.
30
+
31
+ unset OPTION
32
+ Deletes the value of the specified option.
33
+
34
+ ## OPTIONS
35
+ OPTION is one of the following:
36
+
37
+ server
38
+ The server of the Uffizzi API service you want to access. Defaults to
39
+ app.uffizzi.com.
40
+
41
+ name
42
+ Your name.
43
+
44
+ project
45
+ The current active project. This project is used as the default unless
46
+ --project is pass as an argument.
47
+
48
+ ## EXAMPLES
49
+ To list the uffizzi configuration options, run:
50
+
51
+ $ uffizzi config list
52
+
53
+ To set a new current active project for uffizzi, run:
54
+
55
+ $ uffizzi config set project my-project
data/man/uffizzi-login CHANGED
@@ -27,6 +27,6 @@ To login to the default host with the default user account, run:
27
27
 
28
28
  To login to an alternate host, run:
29
29
 
30
- $ uffizzi login \-\-hostname=uffizzi\.example\.com
30
+ $ uffizzi login \-\-server=uffizzi\.example\.com
31
31
  .fi
32
32
 
@@ -21,4 +21,4 @@
21
21
 
22
22
  To login to an alternate host, run:
23
23
 
24
- $ uffizzi login --hostname=uffizzi.example.com
24
+ $ uffizzi login --server=uffizzi.example.com
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uffizzi-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Thurman
@@ -9,8 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2022-04-08 00:00:00.000000000 Z
12
+ date: 2022-04-13 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: awesome_print
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
14
28
  - !ruby/object:Gem::Dependency
15
29
  name: thor
16
30
  requirement: !ruby/object:Gem::Requirement
@@ -315,6 +329,9 @@ files:
315
329
  - lib/uffizzi/shell.rb
316
330
  - lib/uffizzi/version.rb
317
331
  - man/uffizzi
332
+ - man/uffizzi-config
333
+ - man/uffizzi-config.html
334
+ - man/uffizzi-config.ronn
318
335
  - man/uffizzi-login
319
336
  - man/uffizzi-login.html
320
337
  - man/uffizzi-login.ronn