command_kit 0.3.0 → 0.4.1

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.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +6 -6
  3. data/.rubocop.yml +16 -0
  4. data/ChangeLog.md +30 -0
  5. data/Gemfile +2 -0
  6. data/LICENSE.txt +1 -1
  7. data/README.md +18 -9
  8. data/command_kit.gemspec +0 -1
  9. data/examples/printing/tables.rb +141 -0
  10. data/examples/subcommands/cli/config/get.rb +47 -0
  11. data/examples/subcommands/cli/config/set.rb +44 -0
  12. data/examples/subcommands/cli/config.rb +23 -0
  13. data/examples/subcommands/cli/list.rb +35 -0
  14. data/examples/subcommands/cli/update.rb +47 -0
  15. data/examples/subcommands/cli.rb +55 -0
  16. data/gemspec.yml +3 -3
  17. data/lib/command_kit/bug_report.rb +105 -0
  18. data/lib/command_kit/colors.rb +4 -4
  19. data/lib/command_kit/edit.rb +54 -0
  20. data/lib/command_kit/env/home.rb +1 -1
  21. data/lib/command_kit/env.rb +1 -1
  22. data/lib/command_kit/inflector.rb +1 -1
  23. data/lib/command_kit/options/option.rb +5 -1
  24. data/lib/command_kit/options/option_value.rb +2 -2
  25. data/lib/command_kit/options/parser.rb +2 -2
  26. data/lib/command_kit/options/quiet.rb +1 -1
  27. data/lib/command_kit/options/verbose.rb +2 -2
  28. data/lib/command_kit/options/version.rb +10 -0
  29. data/lib/command_kit/options.rb +1 -1
  30. data/lib/command_kit/os/linux.rb +1 -1
  31. data/lib/command_kit/os.rb +2 -2
  32. data/lib/command_kit/printing/fields.rb +56 -0
  33. data/lib/command_kit/printing/indent.rb +1 -1
  34. data/lib/command_kit/printing/lists.rb +91 -0
  35. data/lib/command_kit/printing/tables/border_style.rb +169 -0
  36. data/lib/command_kit/printing/tables/cell_builder.rb +93 -0
  37. data/lib/command_kit/printing/tables/row_builder.rb +111 -0
  38. data/lib/command_kit/printing/tables/style.rb +198 -0
  39. data/lib/command_kit/printing/tables/table_builder.rb +145 -0
  40. data/lib/command_kit/printing/tables/table_formatter.rb +254 -0
  41. data/lib/command_kit/printing/tables.rb +208 -0
  42. data/lib/command_kit/stdio.rb +5 -1
  43. data/lib/command_kit/version.rb +1 -1
  44. data/lib/command_kit/xdg.rb +1 -1
  45. data/spec/bug_report_spec.rb +266 -0
  46. data/spec/colors_spec.rb +6 -0
  47. data/spec/command_name_spec.rb +1 -1
  48. data/spec/commands_spec.rb +26 -0
  49. data/spec/edit_spec.rb +72 -0
  50. data/spec/options/option_spec.rb +12 -2
  51. data/spec/options/parser_spec.rb +19 -0
  52. data/spec/options/quiet_spec.rb +51 -0
  53. data/spec/options/verbose_spec.rb +51 -0
  54. data/spec/options/version_spec.rb +146 -0
  55. data/spec/pager_spec.rb +1 -1
  56. data/spec/printing/fields_spec.rb +167 -0
  57. data/spec/printing/lists_spec.rb +99 -0
  58. data/spec/printing/tables/border_style.rb +43 -0
  59. data/spec/printing/tables/cell_builer_spec.rb +135 -0
  60. data/spec/printing/tables/row_builder_spec.rb +165 -0
  61. data/spec/printing/tables/style_spec.rb +377 -0
  62. data/spec/printing/tables/table_builder_spec.rb +252 -0
  63. data/spec/printing/tables/table_formatter_spec.rb +1190 -0
  64. data/spec/printing/tables_spec.rb +1069 -0
  65. metadata +39 -7
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: command_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Postmodern
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-27 00:00:00.000000000 Z
11
+ date: 2024-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -24,8 +24,8 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.0'
27
- description: A Ruby toolkit for building clean, correct, and robust CLI commands as
28
- plain-old Ruby classes.
27
+ description: A modular Ruby toolkit for building clean, correct, and robust CLI commands
28
+ as plain-old Ruby classes.
29
29
  email: postmodern.mod3@gmail.com
30
30
  executables: []
31
31
  extensions: []
@@ -49,11 +49,19 @@ files:
49
49
  - examples/colors.rb
50
50
  - examples/command.rb
51
51
  - examples/pager.rb
52
+ - examples/printing/tables.rb
53
+ - examples/subcommands/cli.rb
54
+ - examples/subcommands/cli/config.rb
55
+ - examples/subcommands/cli/config/get.rb
56
+ - examples/subcommands/cli/config/set.rb
57
+ - examples/subcommands/cli/list.rb
58
+ - examples/subcommands/cli/update.rb
52
59
  - gemspec.yml
53
60
  - lib/command_kit.rb
54
61
  - lib/command_kit/arguments.rb
55
62
  - lib/command_kit/arguments/argument.rb
56
63
  - lib/command_kit/arguments/argument_value.rb
64
+ - lib/command_kit/bug_report.rb
57
65
  - lib/command_kit/colors.rb
58
66
  - lib/command_kit/command.rb
59
67
  - lib/command_kit/command_name.rb
@@ -66,6 +74,7 @@ files:
66
74
  - lib/command_kit/commands/parent_command.rb
67
75
  - lib/command_kit/commands/subcommand.rb
68
76
  - lib/command_kit/description.rb
77
+ - lib/command_kit/edit.rb
69
78
  - lib/command_kit/env.rb
70
79
  - lib/command_kit/env/home.rb
71
80
  - lib/command_kit/env/path.rb
@@ -91,7 +100,16 @@ files:
91
100
  - lib/command_kit/package_manager.rb
92
101
  - lib/command_kit/pager.rb
93
102
  - lib/command_kit/printing.rb
103
+ - lib/command_kit/printing/fields.rb
94
104
  - lib/command_kit/printing/indent.rb
105
+ - lib/command_kit/printing/lists.rb
106
+ - lib/command_kit/printing/tables.rb
107
+ - lib/command_kit/printing/tables/border_style.rb
108
+ - lib/command_kit/printing/tables/cell_builder.rb
109
+ - lib/command_kit/printing/tables/row_builder.rb
110
+ - lib/command_kit/printing/tables/style.rb
111
+ - lib/command_kit/printing/tables/table_builder.rb
112
+ - lib/command_kit/printing/tables/table_formatter.rb
95
113
  - lib/command_kit/program_name.rb
96
114
  - lib/command_kit/stdio.rb
97
115
  - lib/command_kit/sudo.rb
@@ -102,6 +120,7 @@ files:
102
120
  - spec/arguments/argument_spec.rb
103
121
  - spec/arguments/argument_value_spec.rb
104
122
  - spec/arguments_spec.rb
123
+ - spec/bug_report_spec.rb
105
124
  - spec/colors_spec.rb
106
125
  - spec/command_kit_spec.rb
107
126
  - spec/command_name_spec.rb
@@ -117,6 +136,7 @@ files:
117
136
  - spec/commands/subcommand_spec.rb
118
137
  - spec/commands_spec.rb
119
138
  - spec/description_spec.rb
139
+ - spec/edit_spec.rb
120
140
  - spec/env/home_spec.rb
121
141
  - spec/env/path_spec.rb
122
142
  - spec/env_spec.rb
@@ -134,12 +154,24 @@ files:
134
154
  - spec/options/option_spec.rb
135
155
  - spec/options/option_value_spec.rb
136
156
  - spec/options/parser_spec.rb
157
+ - spec/options/quiet_spec.rb
158
+ - spec/options/verbose_spec.rb
159
+ - spec/options/version_spec.rb
137
160
  - spec/options_spec.rb
138
161
  - spec/os/linux_spec.rb
139
162
  - spec/os_spec.rb
140
163
  - spec/package_manager_spec.rb
141
164
  - spec/pager_spec.rb
165
+ - spec/printing/fields_spec.rb
142
166
  - spec/printing/indent_spec.rb
167
+ - spec/printing/lists_spec.rb
168
+ - spec/printing/tables/border_style.rb
169
+ - spec/printing/tables/cell_builer_spec.rb
170
+ - spec/printing/tables/row_builder_spec.rb
171
+ - spec/printing/tables/style_spec.rb
172
+ - spec/printing/tables/table_builder_spec.rb
173
+ - spec/printing/tables/table_formatter_spec.rb
174
+ - spec/printing/tables_spec.rb
143
175
  - spec/printing_spec.rb
144
176
  - spec/program_name_spec.rb
145
177
  - spec/spec_helper.rb
@@ -165,15 +197,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
165
197
  requirements:
166
198
  - - ">="
167
199
  - !ruby/object:Gem::Version
168
- version: 2.7.0
200
+ version: 3.0.0
169
201
  required_rubygems_version: !ruby/object:Gem::Requirement
170
202
  requirements:
171
203
  - - ">="
172
204
  - !ruby/object:Gem::Version
173
205
  version: '0'
174
206
  requirements: []
175
- rubygems_version: 3.2.22
207
+ rubygems_version: 3.4.10
176
208
  signing_key:
177
209
  specification_version: 4
178
- summary: A toolkit for building Ruby CLI commands
210
+ summary: An all-in-one modular Ruby CLI toolkit
179
211
  test_files: []