boxen 3.0.0.beta1 → 3.1.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 (73) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +0 -1
  3. data/README.md +1 -1
  4. data/boxen.gemspec +13 -13
  5. data/lib/boxen/check.rb +39 -8
  6. data/lib/boxen/cli.rb +45 -19
  7. data/lib/boxen/config.rb +61 -43
  8. data/lib/boxen/flags.rb +282 -0
  9. data/lib/boxen/hook.rb +8 -15
  10. data/lib/boxen/hook/github_issue.rb +120 -0
  11. data/lib/boxen/hook/web.rb +56 -0
  12. data/lib/boxen/keychain.rb +1 -1
  13. data/lib/boxen/postflight/env.rb +1 -1
  14. data/lib/boxen/preflight.rb +7 -4
  15. data/lib/boxen/preflight/creds.rb +47 -8
  16. data/lib/boxen/preflight/identity.rb +0 -2
  17. data/lib/boxen/preflight/os.rb +6 -2
  18. data/lib/boxen/puppeteer.rb +121 -0
  19. data/lib/boxen/runner.rb +149 -0
  20. data/script/bootstrap +1 -1
  21. data/script/tests +0 -1
  22. data/test/boxen/test.rb +1 -1
  23. data/test/boxen_check_test.rb +55 -0
  24. data/test/boxen_cli_test.rb +31 -8
  25. data/test/boxen_config_test.rb +31 -1
  26. data/test/boxen_directories_test.rb +4 -4
  27. data/test/boxen_flags_test.rb +217 -0
  28. data/test/{postflight/boxen_postflight_github_issue_test.rb → boxen_hook_github_issue_test.rb} +82 -72
  29. data/test/{postflight/boxen_postflight_web_hook_test.rb → boxen_hook_web_test.rb} +11 -12
  30. data/test/{postflight/boxen_postflight_active_test.rb → boxen_postflight_active_test.rb} +3 -3
  31. data/test/{postflight/boxen_postflight_env_test.rb → boxen_postflight_env_test.rb} +0 -0
  32. data/test/boxen_preflight_creds_test.rb +177 -0
  33. data/test/{preflight/boxen_preflight_etc_my_cnf_test.rb → boxen_preflight_etc_my_cnf_test.rb} +1 -1
  34. data/test/{preflight/boxen_preflight_rvm_test.rb → boxen_preflight_rvm_test.rb} +1 -1
  35. data/test/boxen_puppeteer_test.rb +101 -0
  36. data/test/boxen_runner_test.rb +171 -0
  37. metadata +172 -251
  38. data/lib/boxen/command.rb +0 -142
  39. data/lib/boxen/command/help.rb +0 -40
  40. data/lib/boxen/command/preflight.rb +0 -38
  41. data/lib/boxen/command/project.rb +0 -49
  42. data/lib/boxen/command/project/install.rb +0 -33
  43. data/lib/boxen/command/run.rb +0 -199
  44. data/lib/boxen/command/service.rb +0 -61
  45. data/lib/boxen/command/service/disable.rb +0 -15
  46. data/lib/boxen/command/service/enable.rb +0 -15
  47. data/lib/boxen/command/service/restart.rb +0 -24
  48. data/lib/boxen/command/version.rb +0 -29
  49. data/lib/boxen/command_status.rb +0 -15
  50. data/lib/boxen/postflight/github_issue.rb +0 -124
  51. data/lib/boxen/postflight/hooks.rb +0 -16
  52. data/lib/boxen/postflight/web_hook.rb +0 -63
  53. data/lib/boxen/preflight/facts.rb +0 -36
  54. data/lib/boxen/preflight/homebrew.rb +0 -13
  55. data/lib/boxen/preflight/offline.rb +0 -33
  56. data/lib/boxen/preflight/update.rb +0 -109
  57. data/lib/boxen/util/logging.rb +0 -59
  58. data/lib/boxen/version.rb +0 -3
  59. data/lib/system_timer.rb +0 -13
  60. data/test/boxen_command_test.rb +0 -93
  61. data/test/boxen_hook_test.rb +0 -25
  62. data/test/command/help_test.rb +0 -49
  63. data/test/command/project/install_test.rb +0 -34
  64. data/test/command/project_test.rb +0 -32
  65. data/test/command/run_test.rb +0 -21
  66. data/test/command/service/disable_test.rb +0 -49
  67. data/test/command/service/enable_test.rb +0 -49
  68. data/test/command/service/restart_test.rb +0 -53
  69. data/test/command/service_test.rb +0 -55
  70. data/test/command/version_test.rb +0 -15
  71. data/test/preflight/boxen_preflight_creds_test.rb +0 -82
  72. data/test/preflight/boxen_preflight_homebrew_test.rb +0 -10
  73. data/test/system_timer.rb +0 -10
metadata CHANGED
@@ -1,242 +1,193 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: boxen
3
- version: !ruby/object:Gem::Version
4
- hash: -597667722
5
- prerelease: 6
6
- segments:
7
- - 3
8
- - 0
9
- - 0
10
- - beta
11
- - 1
12
- version: 3.0.0.beta1
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.1.0
13
5
  platform: ruby
14
- authors:
15
- - John Barnette
16
- - Will Farrington
17
- - David Goodlad
6
+ authors:
7
+ - Jacob Bednarz
18
8
  autorequire:
19
9
  bindir: bin
20
10
  cert_chain: []
21
-
22
- date: 2014-07-30 00:00:00 -07:00
23
- default_executable:
24
- dependencies:
25
- - !ruby/object:Gem::Dependency
11
+ date: 2017-09-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
26
14
  name: ansi
27
- prerelease: false
28
- requirement: &id001 !ruby/object:Gem::Requirement
29
- none: false
30
- requirements:
31
- - - ~>
32
- - !ruby/object:Gem::Version
33
- hash: 7
34
- segments:
35
- - 1
36
- - 4
37
- version: "1.4"
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.4'
38
20
  type: :runtime
39
- version_requirements: *id001
40
- - !ruby/object:Gem::Dependency
41
- name: hiera
42
21
  prerelease: false
43
- requirement: &id002 !ruby/object:Gem::Requirement
44
- none: false
45
- requirements:
46
- - - ~>
47
- - !ruby/object:Gem::Version
48
- hash: 15
49
- segments:
50
- - 1
51
- - 0
52
- version: "1.0"
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.4'
27
+ - !ruby/object:Gem::Dependency
28
+ name: hiera
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
53
34
  type: :runtime
54
- version_requirements: *id002
55
- - !ruby/object:Gem::Dependency
56
- name: highline
57
35
  prerelease: false
58
- requirement: &id003 !ruby/object:Gem::Requirement
59
- none: false
60
- requirements:
61
- - - ~>
62
- - !ruby/object:Gem::Version
63
- hash: 3
64
- segments:
65
- - 1
66
- - 6
67
- version: "1.6"
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: highline
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 1.6.0
68
48
  type: :runtime
69
- version_requirements: *id003
70
- - !ruby/object:Gem::Dependency
71
- name: json_pure
72
49
  prerelease: false
73
- requirement: &id004 !ruby/object:Gem::Requirement
74
- none: false
75
- requirements:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 1.6.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: json_pure
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
76
59
  - - ">="
77
- - !ruby/object:Gem::Version
78
- hash: 5
79
- segments:
80
- - 1
81
- - 7
82
- - 7
60
+ - !ruby/object:Gem::Version
83
61
  version: 1.7.7
84
- - - <
85
- - !ruby/object:Gem::Version
86
- hash: 3
87
- segments:
88
- - 2
89
- - 0
90
- version: "2.0"
62
+ - - "<"
63
+ - !ruby/object:Gem::Version
64
+ version: '2.0'
91
65
  type: :runtime
92
- version_requirements: *id004
93
- - !ruby/object:Gem::Dependency
94
- name: librarian-puppet
95
66
  prerelease: false
96
- requirement: &id005 !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ~>
100
- - !ruby/object:Gem::Version
101
- hash: 23
102
- segments:
103
- - 1
104
- - 0
105
- - 0
106
- version: 1.0.0
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: 1.7.7
72
+ - - "<"
73
+ - !ruby/object:Gem::Version
74
+ version: '2.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: librarian-puppet
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '2.2'
107
82
  type: :runtime
108
- version_requirements: *id005
109
- - !ruby/object:Gem::Dependency
110
- name: octokit
111
83
  prerelease: false
112
- requirement: &id006 !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ~>
116
- - !ruby/object:Gem::Version
117
- hash: 13
118
- segments:
119
- - 2
120
- - 7
121
- version: "2.7"
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.2'
89
+ - !ruby/object:Gem::Dependency
90
+ name: octokit
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '2.7'
122
96
  - - ">="
123
- - !ruby/object:Gem::Version
124
- hash: 17
125
- segments:
126
- - 2
127
- - 7
128
- - 1
97
+ - !ruby/object:Gem::Version
129
98
  version: 2.7.1
130
99
  type: :runtime
131
- version_requirements: *id006
132
- - !ruby/object:Gem::Dependency
133
- name: puppet
134
100
  prerelease: false
135
- requirement: &id007 !ruby/object:Gem::Requirement
136
- none: false
137
- requirements:
138
- - - ~>
139
- - !ruby/object:Gem::Version
140
- hash: 7
141
- segments:
142
- - 3
143
- - 0
144
- version: "3.0"
101
+ version_requirements: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: '2.7'
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: 2.7.1
109
+ - !ruby/object:Gem::Dependency
110
+ name: puppet
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - "~>"
114
+ - !ruby/object:Gem::Version
115
+ version: '3.7'
145
116
  type: :runtime
146
- version_requirements: *id007
147
- - !ruby/object:Gem::Dependency
148
- name: minitest
149
117
  prerelease: false
150
- requirement: &id008 !ruby/object:Gem::Requirement
151
- none: false
152
- requirements:
153
- - - ~>
154
- - !ruby/object:Gem::Version
155
- hash: 31
156
- segments:
157
- - 5
158
- - 0
159
- version: "5.0"
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - "~>"
121
+ - !ruby/object:Gem::Version
122
+ version: '3.7'
123
+ - !ruby/object:Gem::Dependency
124
+ name: minitest
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - '='
128
+ - !ruby/object:Gem::Version
129
+ version: 4.4.0
160
130
  type: :development
161
- version_requirements: *id008
162
- - !ruby/object:Gem::Dependency
163
- name: mocha
164
131
  prerelease: false
165
- requirement: &id009 !ruby/object:Gem::Requirement
166
- none: false
167
- requirements:
168
- - - ~>
169
- - !ruby/object:Gem::Version
170
- hash: 17
171
- segments:
172
- - 0
173
- - 13
174
- version: "0.13"
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - '='
135
+ - !ruby/object:Gem::Version
136
+ version: 4.4.0
137
+ - !ruby/object:Gem::Dependency
138
+ name: mocha
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: '0.13'
175
144
  type: :development
176
- version_requirements: *id009
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - "~>"
149
+ - !ruby/object:Gem::Version
150
+ version: '0.13'
177
151
  description: Manage Mac development boxes with love (and Puppet).
178
- email:
179
- - jbarnette@github.com
180
- - wfarr@github.com
181
- - dgoodlad@github.com
182
- executables:
183
- - boxen
152
+ email:
153
+ - jacob.bednarz@gmail.com
154
+ executables: []
184
155
  extensions: []
185
-
186
156
  extra_rdoc_files: []
187
-
188
- files:
189
- - .gitignore
190
- - .travis.yml
157
+ files:
158
+ - ".gitignore"
159
+ - ".travis.yml"
191
160
  - Gemfile
192
161
  - LICENSE
193
162
  - README.md
194
- - bin/boxen
195
163
  - boxen.gemspec
196
164
  - lib/boxen/check.rb
197
165
  - lib/boxen/checkout.rb
198
166
  - lib/boxen/cli.rb
199
- - lib/boxen/command.rb
200
- - lib/boxen/command/help.rb
201
- - lib/boxen/command/preflight.rb
202
- - lib/boxen/command/project.rb
203
- - lib/boxen/command/project/install.rb
204
- - lib/boxen/command/run.rb
205
- - lib/boxen/command/service.rb
206
- - lib/boxen/command/service/disable.rb
207
- - lib/boxen/command/service/enable.rb
208
- - lib/boxen/command/service/restart.rb
209
- - lib/boxen/command/version.rb
210
- - lib/boxen/command_status.rb
211
167
  - lib/boxen/config.rb
212
168
  - lib/boxen/error.rb
169
+ - lib/boxen/flags.rb
213
170
  - lib/boxen/hook.rb
171
+ - lib/boxen/hook/github_issue.rb
172
+ - lib/boxen/hook/web.rb
214
173
  - lib/boxen/keychain.rb
215
174
  - lib/boxen/postflight.rb
216
175
  - lib/boxen/postflight/active.rb
217
176
  - lib/boxen/postflight/env.rb
218
- - lib/boxen/postflight/github_issue.rb
219
- - lib/boxen/postflight/hooks.rb
220
- - lib/boxen/postflight/web_hook.rb
221
177
  - lib/boxen/preflight.rb
222
178
  - lib/boxen/preflight/creds.rb
223
179
  - lib/boxen/preflight/directories.rb
224
180
  - lib/boxen/preflight/etc_my_cnf.rb
225
- - lib/boxen/preflight/facts.rb
226
- - lib/boxen/preflight/homebrew.rb
227
181
  - lib/boxen/preflight/identity.rb
228
- - lib/boxen/preflight/offline.rb
229
182
  - lib/boxen/preflight/os.rb
230
183
  - lib/boxen/preflight/rbenv.rb
231
184
  - lib/boxen/preflight/rvm.rb
232
- - lib/boxen/preflight/update.rb
233
185
  - lib/boxen/project.rb
186
+ - lib/boxen/puppeteer.rb
187
+ - lib/boxen/runner.rb
234
188
  - lib/boxen/service.rb
235
189
  - lib/boxen/util.rb
236
- - lib/boxen/util/logging.rb
237
- - lib/boxen/version.rb
238
190
  - lib/facter/boxen.rb
239
- - lib/system_timer.rb
240
191
  - script/Boxen
241
192
  - script/bootstrap
242
193
  - script/build-keychain-helper
@@ -244,101 +195,71 @@ files:
244
195
  - script/tests
245
196
  - src/keychain-helper.c
246
197
  - test/boxen/test.rb
198
+ - test/boxen_check_test.rb
247
199
  - test/boxen_checkout_test.rb
248
200
  - test/boxen_cli_test.rb
249
- - test/boxen_command_test.rb
250
201
  - test/boxen_config_test.rb
251
202
  - test/boxen_directories_test.rb
252
- - test/boxen_hook_test.rb
203
+ - test/boxen_flags_test.rb
204
+ - test/boxen_hook_github_issue_test.rb
205
+ - test/boxen_hook_web_test.rb
253
206
  - test/boxen_keychain_test.rb
207
+ - test/boxen_postflight_active_test.rb
208
+ - test/boxen_postflight_env_test.rb
209
+ - test/boxen_preflight_creds_test.rb
210
+ - test/boxen_preflight_etc_my_cnf_test.rb
211
+ - test/boxen_preflight_rvm_test.rb
254
212
  - test/boxen_project_test.rb
213
+ - test/boxen_puppeteer_test.rb
214
+ - test/boxen_runner_test.rb
255
215
  - test/boxen_service_test.rb
256
216
  - test/boxen_util_test.rb
257
- - test/command/help_test.rb
258
- - test/command/project/install_test.rb
259
- - test/command/project_test.rb
260
- - test/command/run_test.rb
261
- - test/command/service/disable_test.rb
262
- - test/command/service/enable_test.rb
263
- - test/command/service/restart_test.rb
264
- - test/command/service_test.rb
265
- - test/command/version_test.rb
266
217
  - test/fixtures/repo/modules/projects/manifests/first-project.pp
267
218
  - test/fixtures/repo/modules/projects/manifests/second-project.pp
268
- - test/postflight/boxen_postflight_active_test.rb
269
- - test/postflight/boxen_postflight_env_test.rb
270
- - test/postflight/boxen_postflight_github_issue_test.rb
271
- - test/postflight/boxen_postflight_web_hook_test.rb
272
- - test/preflight/boxen_preflight_creds_test.rb
273
- - test/preflight/boxen_preflight_etc_my_cnf_test.rb
274
- - test/preflight/boxen_preflight_homebrew_test.rb
275
- - test/preflight/boxen_preflight_rvm_test.rb
276
- - test/system_timer.rb
277
- has_rdoc: true
278
219
  homepage: https://github.com/boxen/boxen
279
- licenses: []
280
-
220
+ licenses:
221
+ - MIT
222
+ metadata: {}
281
223
  post_install_message:
282
224
  rdoc_options: []
283
-
284
- require_paths:
225
+ require_paths:
285
226
  - lib
286
- required_ruby_version: !ruby/object:Gem::Requirement
287
- none: false
288
- requirements:
227
+ required_ruby_version: !ruby/object:Gem::Requirement
228
+ requirements:
229
+ - - ">="
230
+ - !ruby/object:Gem::Version
231
+ version: '0'
232
+ required_rubygems_version: !ruby/object:Gem::Requirement
233
+ requirements:
289
234
  - - ">="
290
- - !ruby/object:Gem::Version
291
- hash: 3
292
- segments:
293
- - 0
294
- version: "0"
295
- required_rubygems_version: !ruby/object:Gem::Requirement
296
- none: false
297
- requirements:
298
- - - ">"
299
- - !ruby/object:Gem::Version
300
- hash: 25
301
- segments:
302
- - 1
303
- - 3
304
- - 1
305
- version: 1.3.1
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
306
237
  requirements: []
307
-
308
238
  rubyforge_project:
309
- rubygems_version: 1.6.2
239
+ rubygems_version: 2.5.1
310
240
  signing_key:
311
- specification_version: 3
241
+ specification_version: 4
312
242
  summary: You know, for laptops and stuff.
313
- test_files:
243
+ test_files:
314
244
  - test/boxen/test.rb
245
+ - test/boxen_check_test.rb
315
246
  - test/boxen_checkout_test.rb
316
247
  - test/boxen_cli_test.rb
317
- - test/boxen_command_test.rb
318
248
  - test/boxen_config_test.rb
319
249
  - test/boxen_directories_test.rb
320
- - test/boxen_hook_test.rb
250
+ - test/boxen_flags_test.rb
251
+ - test/boxen_hook_github_issue_test.rb
252
+ - test/boxen_hook_web_test.rb
321
253
  - test/boxen_keychain_test.rb
254
+ - test/boxen_postflight_active_test.rb
255
+ - test/boxen_postflight_env_test.rb
256
+ - test/boxen_preflight_creds_test.rb
257
+ - test/boxen_preflight_etc_my_cnf_test.rb
258
+ - test/boxen_preflight_rvm_test.rb
322
259
  - test/boxen_project_test.rb
260
+ - test/boxen_puppeteer_test.rb
261
+ - test/boxen_runner_test.rb
323
262
  - test/boxen_service_test.rb
324
263
  - test/boxen_util_test.rb
325
- - test/command/help_test.rb
326
- - test/command/project/install_test.rb
327
- - test/command/project_test.rb
328
- - test/command/run_test.rb
329
- - test/command/service/disable_test.rb
330
- - test/command/service/enable_test.rb
331
- - test/command/service/restart_test.rb
332
- - test/command/service_test.rb
333
- - test/command/version_test.rb
334
264
  - test/fixtures/repo/modules/projects/manifests/first-project.pp
335
265
  - test/fixtures/repo/modules/projects/manifests/second-project.pp
336
- - test/postflight/boxen_postflight_active_test.rb
337
- - test/postflight/boxen_postflight_env_test.rb
338
- - test/postflight/boxen_postflight_github_issue_test.rb
339
- - test/postflight/boxen_postflight_web_hook_test.rb
340
- - test/preflight/boxen_preflight_creds_test.rb
341
- - test/preflight/boxen_preflight_etc_my_cnf_test.rb
342
- - test/preflight/boxen_preflight_homebrew_test.rb
343
- - test/preflight/boxen_preflight_rvm_test.rb
344
- - test/system_timer.rb