command_kit 0.2.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +4 -5
  3. data/.rubocop.yml +14 -1
  4. data/ChangeLog.md +82 -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/gemspec.yml +3 -3
  11. data/lib/command_kit/arguments/argument.rb +2 -2
  12. data/lib/command_kit/arguments.rb +27 -2
  13. data/lib/command_kit/bug_report.rb +105 -0
  14. data/lib/command_kit/colors.rb +488 -15
  15. data/lib/command_kit/command.rb +1 -2
  16. data/lib/command_kit/edit.rb +54 -0
  17. data/lib/command_kit/env.rb +1 -1
  18. data/lib/command_kit/file_utils.rb +46 -0
  19. data/lib/command_kit/options/option.rb +45 -22
  20. data/lib/command_kit/options/option_value.rb +2 -2
  21. data/lib/command_kit/options/parser.rb +1 -4
  22. data/lib/command_kit/options/quiet.rb +1 -1
  23. data/lib/command_kit/options/verbose.rb +2 -2
  24. data/lib/command_kit/options/version.rb +10 -0
  25. data/lib/command_kit/options.rb +89 -14
  26. data/lib/command_kit/os.rb +1 -1
  27. data/lib/command_kit/printing/fields.rb +56 -0
  28. data/lib/command_kit/printing/indent.rb +1 -1
  29. data/lib/command_kit/printing/lists.rb +91 -0
  30. data/lib/command_kit/printing/tables/border_style.rb +169 -0
  31. data/lib/command_kit/printing/tables/cell_builder.rb +93 -0
  32. data/lib/command_kit/printing/tables/row_builder.rb +111 -0
  33. data/lib/command_kit/printing/tables/style.rb +198 -0
  34. data/lib/command_kit/printing/tables/table_builder.rb +145 -0
  35. data/lib/command_kit/printing/tables/table_formatter.rb +254 -0
  36. data/lib/command_kit/printing/tables.rb +208 -0
  37. data/lib/command_kit/program_name.rb +9 -0
  38. data/lib/command_kit/stdio.rb +5 -1
  39. data/lib/command_kit/version.rb +1 -1
  40. data/spec/arguments_spec.rb +33 -0
  41. data/spec/bug_report_spec.rb +266 -0
  42. data/spec/colors_spec.rb +232 -195
  43. data/spec/command_name_spec.rb +1 -1
  44. data/spec/command_spec.rb +2 -2
  45. data/spec/edit_spec.rb +72 -0
  46. data/spec/file_utils_spec.rb +59 -0
  47. data/spec/fixtures/template.erb +5 -0
  48. data/spec/options/option_spec.rb +48 -2
  49. data/spec/options/parser_spec.rb +0 -10
  50. data/spec/options/quiet_spec.rb +51 -0
  51. data/spec/options/verbose_spec.rb +51 -0
  52. data/spec/options/version_spec.rb +146 -0
  53. data/spec/options_spec.rb +46 -0
  54. data/spec/pager_spec.rb +1 -1
  55. data/spec/printing/fields_spec.rb +167 -0
  56. data/spec/printing/lists_spec.rb +99 -0
  57. data/spec/printing/tables/border_style.rb +43 -0
  58. data/spec/printing/tables/cell_builer_spec.rb +135 -0
  59. data/spec/printing/tables/row_builder_spec.rb +165 -0
  60. data/spec/printing/tables/style_spec.rb +377 -0
  61. data/spec/printing/tables/table_builder_spec.rb +252 -0
  62. data/spec/printing/tables/table_formatter_spec.rb +1180 -0
  63. data/spec/printing/tables_spec.rb +1069 -0
  64. data/spec/program_name_spec.rb +8 -0
  65. metadata +36 -7
@@ -56,6 +56,14 @@ describe CommandKit::ProgramName do
56
56
  end
57
57
  end
58
58
 
59
+ describe "#command_name" do
60
+ subject { command_class.new }
61
+
62
+ it "should be the same as #program_name" do
63
+ expect(subject.command_name).to eq(subject.program_name)
64
+ end
65
+ end
66
+
59
67
  after do
60
68
  $PROGRAM_NAME = @original_program_name
61
69
  end
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.2.2
4
+ version: 0.4.0
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: 2022-11-11 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,13 @@ files:
49
49
  - examples/colors.rb
50
50
  - examples/command.rb
51
51
  - examples/pager.rb
52
+ - examples/printing/tables.rb
52
53
  - gemspec.yml
53
54
  - lib/command_kit.rb
54
55
  - lib/command_kit/arguments.rb
55
56
  - lib/command_kit/arguments/argument.rb
56
57
  - lib/command_kit/arguments/argument_value.rb
58
+ - lib/command_kit/bug_report.rb
57
59
  - lib/command_kit/colors.rb
58
60
  - lib/command_kit/command.rb
59
61
  - lib/command_kit/command_name.rb
@@ -66,11 +68,13 @@ files:
66
68
  - lib/command_kit/commands/parent_command.rb
67
69
  - lib/command_kit/commands/subcommand.rb
68
70
  - lib/command_kit/description.rb
71
+ - lib/command_kit/edit.rb
69
72
  - lib/command_kit/env.rb
70
73
  - lib/command_kit/env/home.rb
71
74
  - lib/command_kit/env/path.rb
72
75
  - lib/command_kit/examples.rb
73
76
  - lib/command_kit/exception_handler.rb
77
+ - lib/command_kit/file_utils.rb
74
78
  - lib/command_kit/help.rb
75
79
  - lib/command_kit/help/man.rb
76
80
  - lib/command_kit/inflector.rb
@@ -90,7 +94,16 @@ files:
90
94
  - lib/command_kit/package_manager.rb
91
95
  - lib/command_kit/pager.rb
92
96
  - lib/command_kit/printing.rb
97
+ - lib/command_kit/printing/fields.rb
93
98
  - lib/command_kit/printing/indent.rb
99
+ - lib/command_kit/printing/lists.rb
100
+ - lib/command_kit/printing/tables.rb
101
+ - lib/command_kit/printing/tables/border_style.rb
102
+ - lib/command_kit/printing/tables/cell_builder.rb
103
+ - lib/command_kit/printing/tables/row_builder.rb
104
+ - lib/command_kit/printing/tables/style.rb
105
+ - lib/command_kit/printing/tables/table_builder.rb
106
+ - lib/command_kit/printing/tables/table_formatter.rb
94
107
  - lib/command_kit/program_name.rb
95
108
  - lib/command_kit/stdio.rb
96
109
  - lib/command_kit/sudo.rb
@@ -101,6 +114,7 @@ files:
101
114
  - spec/arguments/argument_spec.rb
102
115
  - spec/arguments/argument_value_spec.rb
103
116
  - spec/arguments_spec.rb
117
+ - spec/bug_report_spec.rb
104
118
  - spec/colors_spec.rb
105
119
  - spec/command_kit_spec.rb
106
120
  - spec/command_name_spec.rb
@@ -116,11 +130,14 @@ files:
116
130
  - spec/commands/subcommand_spec.rb
117
131
  - spec/commands_spec.rb
118
132
  - spec/description_spec.rb
133
+ - spec/edit_spec.rb
119
134
  - spec/env/home_spec.rb
120
135
  - spec/env/path_spec.rb
121
136
  - spec/env_spec.rb
122
137
  - spec/examples_spec.rb
123
138
  - spec/exception_handler_spec.rb
139
+ - spec/file_utils_spec.rb
140
+ - spec/fixtures/template.erb
124
141
  - spec/help/man_spec.rb
125
142
  - spec/help_spec.rb
126
143
  - spec/inflector_spec.rb
@@ -131,12 +148,24 @@ files:
131
148
  - spec/options/option_spec.rb
132
149
  - spec/options/option_value_spec.rb
133
150
  - spec/options/parser_spec.rb
151
+ - spec/options/quiet_spec.rb
152
+ - spec/options/verbose_spec.rb
153
+ - spec/options/version_spec.rb
134
154
  - spec/options_spec.rb
135
155
  - spec/os/linux_spec.rb
136
156
  - spec/os_spec.rb
137
157
  - spec/package_manager_spec.rb
138
158
  - spec/pager_spec.rb
159
+ - spec/printing/fields_spec.rb
139
160
  - spec/printing/indent_spec.rb
161
+ - spec/printing/lists_spec.rb
162
+ - spec/printing/tables/border_style.rb
163
+ - spec/printing/tables/cell_builer_spec.rb
164
+ - spec/printing/tables/row_builder_spec.rb
165
+ - spec/printing/tables/style_spec.rb
166
+ - spec/printing/tables/table_builder_spec.rb
167
+ - spec/printing/tables/table_formatter_spec.rb
168
+ - spec/printing/tables_spec.rb
140
169
  - spec/printing_spec.rb
141
170
  - spec/program_name_spec.rb
142
171
  - spec/spec_helper.rb
@@ -162,15 +191,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
162
191
  requirements:
163
192
  - - ">="
164
193
  - !ruby/object:Gem::Version
165
- version: 2.7.0
194
+ version: 3.0.0
166
195
  required_rubygems_version: !ruby/object:Gem::Requirement
167
196
  requirements:
168
197
  - - ">="
169
198
  - !ruby/object:Gem::Version
170
199
  version: '0'
171
200
  requirements: []
172
- rubygems_version: 3.2.22
201
+ rubygems_version: 3.3.7
173
202
  signing_key:
174
203
  specification_version: 4
175
- summary: A toolkit for building Ruby CLI commands
204
+ summary: An all-in-one modular Ruby CLI toolkit
176
205
  test_files: []