command_kit 0.4.1 → 0.5.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.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog.md +6 -0
  3. data/README.md +3 -0
  4. data/command_kit.gemspec +7 -2
  5. data/lib/command_kit/completion/install.rb +276 -0
  6. data/lib/command_kit/env/prefix.rb +41 -0
  7. data/lib/command_kit/env/shell.rb +58 -0
  8. data/lib/command_kit/version.rb +1 -1
  9. metadata +4 -64
  10. data/spec/arguments/argument_spec.rb +0 -133
  11. data/spec/arguments/argument_value_spec.rb +0 -66
  12. data/spec/arguments_spec.rb +0 -279
  13. data/spec/bug_report_spec.rb +0 -266
  14. data/spec/colors_spec.rb +0 -771
  15. data/spec/command_kit_spec.rb +0 -8
  16. data/spec/command_name_spec.rb +0 -130
  17. data/spec/command_spec.rb +0 -123
  18. data/spec/commands/auto_load/subcommand_spec.rb +0 -82
  19. data/spec/commands/auto_load_spec.rb +0 -159
  20. data/spec/commands/auto_require_spec.rb +0 -142
  21. data/spec/commands/fixtures/test_auto_load/cli/commands/test1.rb +0 -10
  22. data/spec/commands/fixtures/test_auto_load/cli/commands/test2.rb +0 -10
  23. data/spec/commands/fixtures/test_auto_require/lib/test_auto_require/cli/commands/test1.rb +0 -10
  24. data/spec/commands/help_spec.rb +0 -66
  25. data/spec/commands/parent_command_spec.rb +0 -40
  26. data/spec/commands/subcommand_spec.rb +0 -99
  27. data/spec/commands_spec.rb +0 -865
  28. data/spec/description_spec.rb +0 -179
  29. data/spec/edit_spec.rb +0 -72
  30. data/spec/env/home_spec.rb +0 -46
  31. data/spec/env/path_spec.rb +0 -84
  32. data/spec/env_spec.rb +0 -123
  33. data/spec/examples_spec.rb +0 -211
  34. data/spec/exception_handler_spec.rb +0 -103
  35. data/spec/file_utils_spec.rb +0 -59
  36. data/spec/fixtures/template.erb +0 -5
  37. data/spec/help/man_spec.rb +0 -345
  38. data/spec/help_spec.rb +0 -94
  39. data/spec/inflector_spec.rb +0 -166
  40. data/spec/interactive_spec.rb +0 -415
  41. data/spec/main_spec.rb +0 -179
  42. data/spec/man_spec.rb +0 -46
  43. data/spec/open_app_spec.rb +0 -85
  44. data/spec/options/option_spec.rb +0 -343
  45. data/spec/options/option_value_spec.rb +0 -171
  46. data/spec/options/parser_spec.rb +0 -274
  47. data/spec/options/quiet_spec.rb +0 -51
  48. data/spec/options/verbose_spec.rb +0 -51
  49. data/spec/options/version_spec.rb +0 -146
  50. data/spec/options_spec.rb +0 -465
  51. data/spec/os/linux_spec.rb +0 -164
  52. data/spec/os_spec.rb +0 -233
  53. data/spec/package_manager_spec.rb +0 -806
  54. data/spec/pager_spec.rb +0 -217
  55. data/spec/printing/fields_spec.rb +0 -167
  56. data/spec/printing/indent_spec.rb +0 -132
  57. data/spec/printing/lists_spec.rb +0 -99
  58. data/spec/printing/tables/border_style.rb +0 -43
  59. data/spec/printing/tables/cell_builer_spec.rb +0 -135
  60. data/spec/printing/tables/row_builder_spec.rb +0 -165
  61. data/spec/printing/tables/style_spec.rb +0 -377
  62. data/spec/printing/tables/table_builder_spec.rb +0 -252
  63. data/spec/printing/tables/table_formatter_spec.rb +0 -1190
  64. data/spec/printing/tables_spec.rb +0 -1069
  65. data/spec/printing_spec.rb +0 -106
  66. data/spec/program_name_spec.rb +0 -70
  67. data/spec/spec_helper.rb +0 -3
  68. data/spec/stdio_spec.rb +0 -264
  69. data/spec/sudo_spec.rb +0 -51
  70. data/spec/terminal_spec.rb +0 -231
  71. data/spec/usage_spec.rb +0 -237
  72. data/spec/xdg_spec.rb +0 -191
data/spec/os_spec.rb DELETED
@@ -1,233 +0,0 @@
1
- require 'spec_helper'
2
- require 'command_kit/os'
3
-
4
- describe CommandKit::OS do
5
- module TestOS
6
- class TestCommand
7
- include CommandKit::OS
8
- end
9
- end
10
-
11
- let(:command_class) { TestOS::TestCommand }
12
- subject { command_class.new }
13
-
14
- describe ".os" do
15
- subject { command_class }
16
-
17
- context "when RUBY_PLATFORM contains 'linux'" do
18
- before { stub_const('RUBY_PLATFORM','x86_64-linux') }
19
-
20
- it { expect(subject.os).to be(:linux) }
21
- end
22
-
23
- context "when RUBY_PLATFORM contains 'darwin'" do
24
- before { stub_const('RUBY_PLATFORM','aarch64-darwin') }
25
-
26
- it { expect(subject.os).to be(:macos) }
27
- end
28
-
29
- context "when RUBY_PLATFORM contains 'freebsd'" do
30
- before { stub_const('RUBY_PLATFORM','x86_64-freebsd') }
31
-
32
- it { expect(subject.os).to be(:freebsd) }
33
- end
34
-
35
- context "when RUBY_PLATFORM contains 'openbsd'" do
36
- before { stub_const('RUBY_PLATFORM','x86_64-openbsd') }
37
-
38
- it { expect(subject.os).to be(:openbsd) }
39
- end
40
-
41
- context "when RUBY_PLATFORM contains 'netbsd'" do
42
- before { stub_const('RUBY_PLATFORM','x86_64-netbsd') }
43
-
44
- it { expect(subject.os).to be(:netbsd) }
45
- end
46
-
47
- context "when Gem.win_platform? returns true" do
48
- before do
49
- stub_const('RUBY_PLATFORM','x86_64-mswin')
50
-
51
- expect(Gem).to receive(:win_platform?).and_return(true)
52
- end
53
-
54
- it { expect(subject.os).to be(:windows) }
55
- end
56
- end
57
-
58
- describe "#initialize" do
59
- it "must default #os to self.class.os" do
60
- expect(subject.os).to eq(command_class.os)
61
- end
62
-
63
- context "when initialized with the os: keyword" do
64
- let(:os) { :netbsd }
65
-
66
- subject { command_class.new(os: os) }
67
-
68
- it "must set #os" do
69
- expect(subject.os).to eq(os)
70
- end
71
- end
72
- end
73
-
74
- describe "#linux?" do
75
- context "when #os is :linux" do
76
- subject { command_class.new(os: :linux) }
77
-
78
- it { expect(subject.linux?).to be(true) }
79
- end
80
-
81
- context "when #os is not :linux" do
82
- subject { command_class.new(os: :windows) }
83
-
84
- it { expect(subject.linux?).to be(false) }
85
- end
86
- end
87
-
88
- describe "#macos?" do
89
- context "when #os is :macos" do
90
- subject { command_class.new(os: :macos) }
91
-
92
- it { expect(subject.macos?).to be(true) }
93
- end
94
-
95
- context "when #os is not :macos" do
96
- subject { command_class.new(os: :windows) }
97
-
98
- it { expect(subject.macos?).to be(false) }
99
- end
100
- end
101
-
102
- describe "#freebsd?" do
103
- context "when #os is :freebsd" do
104
- subject { command_class.new(os: :freebsd) }
105
-
106
- it { expect(subject.freebsd?).to be(true) }
107
- end
108
-
109
- context "when #os is not :freebsd" do
110
- subject { command_class.new(os: :windows) }
111
-
112
- it { expect(subject.freebsd?).to be(false) }
113
- end
114
- end
115
-
116
- describe "#openbsd?" do
117
- context "when #os is :openbsd" do
118
- subject { command_class.new(os: :openbsd) }
119
-
120
- it { expect(subject.openbsd?).to be(true) }
121
- end
122
-
123
- context "when #os is not :openbsd" do
124
- subject { command_class.new(os: :windows) }
125
-
126
- it { expect(subject.openbsd?).to be(false) }
127
- end
128
- end
129
-
130
- describe "#netbsd?" do
131
- context "when #os is :netbsd" do
132
- subject { command_class.new(os: :netbsd) }
133
-
134
- it { expect(subject.netbsd?).to be(true) }
135
- end
136
-
137
- context "when #os is not :netbsd" do
138
- subject { command_class.new(os: :windows) }
139
-
140
- it { expect(subject.netbsd?).to be(false) }
141
- end
142
- end
143
-
144
- describe "#bsd?" do
145
- context "when #os is :freebsd" do
146
- subject { command_class.new(os: :freebsd) }
147
-
148
- it { expect(subject.bsd?).to be(true) }
149
- end
150
-
151
- context "when #os is :openbsd" do
152
- subject { command_class.new(os: :openbsd) }
153
-
154
- it { expect(subject.bsd?).to be(true) }
155
- end
156
-
157
- context "when #os is :netbsd" do
158
- subject { command_class.new(os: :netbsd) }
159
-
160
- it { expect(subject.bsd?).to be(true) }
161
- end
162
-
163
- context "when #os is :macos" do
164
- subject { command_class.new(os: :macos) }
165
-
166
- it { expect(subject.bsd?).to be(false) }
167
- end
168
-
169
- context "when #os is :linux" do
170
- subject { command_class.new(os: :linux) }
171
-
172
- it { expect(subject.bsd?).to be(false) }
173
- end
174
-
175
- context "when #os is :windows" do
176
- subject { command_class.new(os: :windows) }
177
-
178
- it { expect(subject.bsd?).to be(false) }
179
- end
180
- end
181
-
182
- describe "#unix?" do
183
- context "when #os is :freebsd" do
184
- subject { command_class.new(os: :freebsd) }
185
-
186
- it { expect(subject.unix?).to be(true) }
187
- end
188
-
189
- context "when #os is :openbsd" do
190
- subject { command_class.new(os: :openbsd) }
191
-
192
- it { expect(subject.unix?).to be(true) }
193
- end
194
-
195
- context "when #os is :netbsd" do
196
- subject { command_class.new(os: :netbsd) }
197
-
198
- it { expect(subject.unix?).to be(true) }
199
- end
200
-
201
- context "when #os is :macos" do
202
- subject { command_class.new(os: :macos) }
203
-
204
- it { expect(subject.unix?).to be(true) }
205
- end
206
-
207
- context "when #os is :linux" do
208
- subject { command_class.new(os: :linux) }
209
-
210
- it { expect(subject.unix?).to be(true) }
211
- end
212
-
213
- context "when #os is :windows" do
214
- subject { command_class.new(os: :windows) }
215
-
216
- it { expect(subject.unix?).to be(false) }
217
- end
218
- end
219
-
220
- describe "#windows?" do
221
- context "when #os is :windows" do
222
- subject { command_class.new(os: :windows) }
223
-
224
- it { expect(subject.windows?).to be(true) }
225
- end
226
-
227
- context "when #os is not :windows" do
228
- subject { command_class.new(os: :linux) }
229
-
230
- it { expect(subject.windows?).to be(false) }
231
- end
232
- end
233
- end