poise-boiler 1.0.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.
@@ -0,0 +1,74 @@
1
+ #
2
+ # Copyright 2015, Noah Kantrowitz
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ require 'spec_helper'
18
+
19
+ describe 'poise_boiler/rake' do
20
+ file 'Rakefile', 'require "poise_boiler/rakefile"'
21
+ file 'test.gemspec', <<-EOH
22
+ Gem::Specification.new do |spec|
23
+ spec.name = 'test'
24
+ spec.version = '1.0'
25
+ end
26
+ EOH
27
+
28
+ describe 'list of tasks' do
29
+ command 'rake -T'
30
+ its(:stdout) { is_expected.to include('rake build') }
31
+ its(:stdout) { is_expected.to include('rake chef:build') }
32
+ its(:stdout) { is_expected.to include('rake chef:foodcritic') }
33
+ its(:stdout) { is_expected.to include('rake chef:release') }
34
+ its(:stdout) { is_expected.to include('rake install') }
35
+ its(:stdout) { is_expected.to include('rake release') }
36
+ its(:stdout) { is_expected.to include('rake spec') }
37
+ its(:stdout) { is_expected.to include('rake travis') }
38
+ end # /describe list of tasks
39
+
40
+ describe 'specs in spec/' do
41
+ command 'rake spec'
42
+ file 'spec/thing_spec.rb', <<-EOH
43
+ describe 'a thing' do
44
+ it { expect(1).to eq(1) }
45
+ end
46
+ EOH
47
+ its(:stdout) { is_expected.to include('1 example, 0 failures') }
48
+ end # /describe specs in spec/
49
+
50
+ describe 'specs in test/spec/' do
51
+ command 'rake spec'
52
+ file 'test/spec/thing_spec.rb', <<-EOH
53
+ describe 'a thing' do
54
+ it { expect(1).to eq(1) }
55
+ end
56
+ EOH
57
+ its(:stdout) { is_expected.to include('1 example, 0 failures') }
58
+ end # /describe specs in test/spec/
59
+
60
+ describe 'specs in both spec/ and test/spec/' do
61
+ command 'rake spec'
62
+ file 'spec/thing_spec.rb', <<-EOH
63
+ describe 'a thing' do
64
+ it { expect(1).to eq(1) }
65
+ end
66
+ EOH
67
+ file 'test/spec/another_thing_spec.rb', <<-EOH
68
+ describe 'another thing' do
69
+ it { expect(1).to eq(1) }
70
+ end
71
+ EOH
72
+ its(:stdout) { is_expected.to include('2 examples, 0 failures') }
73
+ end # /describe specs in both spec/ and test/spec/
74
+ end
@@ -0,0 +1,36 @@
1
+ #
2
+ # Copyright 2015, Noah Kantrowitz
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ require 'rake'
18
+ require 'rspec'
19
+ require 'rspec/its'
20
+ require 'rspec_command'
21
+ require 'poise_boiler'
22
+
23
+ RSpec.configure do |config|
24
+ # Basic configuraiton
25
+ config.run_all_when_everything_filtered = true
26
+ config.filter_run(:focus)
27
+
28
+ # Run specs in random order to surface order dependencies. If you find an
29
+ # order dependency and want to debug it, you can fix the order by providing
30
+ # the seed, which is printed after each run.
31
+ # --seed 1234
32
+ config.order = 'random'
33
+
34
+ config.include RSpecCommand
35
+ config.include RSpecCommand::Rake
36
+ end
@@ -0,0 +1,74 @@
1
+ #
2
+ # Copyright 2015, Noah Kantrowitz
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ require 'spec_helper'
18
+
19
+ describe 'poise_boiler/spec_helper' do
20
+ command 'rspec'
21
+ # This is mostly to test the harness is working correctly
22
+ context 'simple spec' do
23
+ file 'spec/test_spec.rb', <<-EOH
24
+ describe 'a thing' do
25
+ it { expect(1).to eq(1) }
26
+ end
27
+ EOH
28
+ its(:stdout) { is_expected.to include('1 example, 0 failures') }
29
+ end # /context simple spec
30
+
31
+ context 'with poise_boiler/spec_helper' do
32
+ file 'spec/spec_helper.rb', 'require "poise_boiler/spec_helper"'
33
+ file 'spec/test_spec.rb', <<-EOH
34
+ require 'spec_helper'
35
+ describe 'a thing' do
36
+ it { expect(1).to eq(1) }
37
+ end
38
+ EOH
39
+ its(:stdout) { is_expected.to include('1 example, 0 failures') }
40
+ end # /context with poise_boiler/spec_helper
41
+
42
+ context 'using the Halite helper' do
43
+ file 'spec/spec_helper.rb', 'require "poise_boiler/spec_helper"'
44
+ file 'spec/test_spec.rb', <<-EOH
45
+ require 'spec_helper'
46
+ describe 'a thing' do
47
+ recipe do
48
+ ruby_block 'test'
49
+ end
50
+ it { is_expected.to run_ruby_block('test') }
51
+ end
52
+ EOH
53
+ its(:stdout) { is_expected.to include('1 example, 0 failures') }
54
+ end # /context using the Halite helper
55
+
56
+ context 'with the Halite helper disabled' do
57
+ file 'spec/spec_helper.rb', <<-EOH
58
+ require 'poise_boiler'
59
+ PoiseBoiler.include_halite_spec_helper = false
60
+ require "poise_boiler/spec_helper"'
61
+ EOH
62
+ file 'spec/test_spec.rb', <<-EOH
63
+ require 'spec_helper'
64
+ describe 'a thing' do
65
+ recipe do
66
+ ruby_block 'test'
67
+ end
68
+ it { is_expected.to run_ruby_block('test') }
69
+ end
70
+ EOH
71
+ # Should fail because the helper isn't included
72
+ it { expect { subject }.to raise_error(Mixlib::ShellOut::ShellCommandFailed) }
73
+ end # /context with the Halite helper disabled
74
+ end
metadata ADDED
@@ -0,0 +1,414 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: poise-boiler
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Noah Kantrowitz
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-05-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: addressable
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.3'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.4'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.4'
41
+ - !ruby/object:Gem::Dependency
42
+ name: travis
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.7'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.7'
55
+ - !ruby/object:Gem::Dependency
56
+ name: yard
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.8'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.8'
69
+ - !ruby/object:Gem::Dependency
70
+ name: yard-classmethods
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: halite
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: mixlib-shellout
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '1.4'
104
+ - - "<"
105
+ - !ruby/object:Gem::Version
106
+ version: '3.0'
107
+ type: :runtime
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: '1.4'
114
+ - - "<"
115
+ - !ruby/object:Gem::Version
116
+ version: '3.0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: pry
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: rspec
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '3.2'
138
+ type: :runtime
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '3.2'
145
+ - !ruby/object:Gem::Dependency
146
+ name: rspec-its
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '1.2'
152
+ type: :runtime
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '1.2'
159
+ - !ruby/object:Gem::Dependency
160
+ name: chefspec
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '4.2'
166
+ type: :runtime
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '4.2'
173
+ - !ruby/object:Gem::Dependency
174
+ name: fuubar
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '2.0'
180
+ type: :runtime
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: '2.0'
187
+ - !ruby/object:Gem::Dependency
188
+ name: simplecov
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '0.9'
194
+ type: :runtime
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '0.9'
201
+ - !ruby/object:Gem::Dependency
202
+ name: foodcritic
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: '4.0'
208
+ type: :runtime
209
+ prerelease: false
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: '4.0'
215
+ - !ruby/object:Gem::Dependency
216
+ name: test-kitchen
217
+ requirement: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - "~>"
220
+ - !ruby/object:Gem::Version
221
+ version: '1.3'
222
+ type: :runtime
223
+ prerelease: false
224
+ version_requirements: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - "~>"
227
+ - !ruby/object:Gem::Version
228
+ version: '1.3'
229
+ - !ruby/object:Gem::Dependency
230
+ name: kitchen-vagrant
231
+ requirement: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - ">="
234
+ - !ruby/object:Gem::Version
235
+ version: '0'
236
+ type: :runtime
237
+ prerelease: false
238
+ version_requirements: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: '0'
243
+ - !ruby/object:Gem::Dependency
244
+ name: vagrant-wrapper
245
+ requirement: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - ">="
248
+ - !ruby/object:Gem::Version
249
+ version: '0'
250
+ type: :runtime
251
+ prerelease: false
252
+ version_requirements: !ruby/object:Gem::Requirement
253
+ requirements:
254
+ - - ">="
255
+ - !ruby/object:Gem::Version
256
+ version: '0'
257
+ - !ruby/object:Gem::Dependency
258
+ name: kitchen-docker
259
+ requirement: !ruby/object:Gem::Requirement
260
+ requirements:
261
+ - - ">="
262
+ - !ruby/object:Gem::Version
263
+ version: '0'
264
+ type: :runtime
265
+ prerelease: false
266
+ version_requirements: !ruby/object:Gem::Requirement
267
+ requirements:
268
+ - - ">="
269
+ - !ruby/object:Gem::Version
270
+ version: '0'
271
+ - !ruby/object:Gem::Dependency
272
+ name: kitchen-sync
273
+ requirement: !ruby/object:Gem::Requirement
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ version: '0'
278
+ type: :runtime
279
+ prerelease: false
280
+ version_requirements: !ruby/object:Gem::Requirement
281
+ requirements:
282
+ - - ">="
283
+ - !ruby/object:Gem::Version
284
+ version: '0'
285
+ - !ruby/object:Gem::Dependency
286
+ name: berkshelf
287
+ requirement: !ruby/object:Gem::Requirement
288
+ requirements:
289
+ - - "~>"
290
+ - !ruby/object:Gem::Version
291
+ version: '3.2'
292
+ type: :runtime
293
+ prerelease: false
294
+ version_requirements: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - "~>"
297
+ - !ruby/object:Gem::Version
298
+ version: '3.2'
299
+ - !ruby/object:Gem::Dependency
300
+ name: codeclimate-test-reporter
301
+ requirement: !ruby/object:Gem::Requirement
302
+ requirements:
303
+ - - "~>"
304
+ - !ruby/object:Gem::Version
305
+ version: '0.4'
306
+ type: :runtime
307
+ prerelease: false
308
+ version_requirements: !ruby/object:Gem::Requirement
309
+ requirements:
310
+ - - "~>"
311
+ - !ruby/object:Gem::Version
312
+ version: '0.4'
313
+ - !ruby/object:Gem::Dependency
314
+ name: codecov
315
+ requirement: !ruby/object:Gem::Requirement
316
+ requirements:
317
+ - - "~>"
318
+ - !ruby/object:Gem::Version
319
+ version: '0.0'
320
+ - - ">="
321
+ - !ruby/object:Gem::Version
322
+ version: 0.0.2
323
+ type: :runtime
324
+ prerelease: false
325
+ version_requirements: !ruby/object:Gem::Requirement
326
+ requirements:
327
+ - - "~>"
328
+ - !ruby/object:Gem::Version
329
+ version: '0.0'
330
+ - - ">="
331
+ - !ruby/object:Gem::Version
332
+ version: 0.0.2
333
+ - !ruby/object:Gem::Dependency
334
+ name: rspec-command
335
+ requirement: !ruby/object:Gem::Requirement
336
+ requirements:
337
+ - - "~>"
338
+ - !ruby/object:Gem::Version
339
+ version: '1.0'
340
+ type: :development
341
+ prerelease: false
342
+ version_requirements: !ruby/object:Gem::Requirement
343
+ requirements:
344
+ - - "~>"
345
+ - !ruby/object:Gem::Version
346
+ version: '1.0'
347
+ description: Boilerplate-reduction helpers for Poise/Halite-style gemss.
348
+ email:
349
+ - noah@coderanger.net
350
+ executables: []
351
+ extensions: []
352
+ extra_rdoc_files: []
353
+ files:
354
+ - ".gitignore"
355
+ - ".travis.yml"
356
+ - CHANGELOG.md
357
+ - Gemfile
358
+ - LICENSE
359
+ - README.md
360
+ - Rakefile
361
+ - lib/poise-boiler.rb
362
+ - lib/poise_boiler.rb
363
+ - lib/poise_boiler/error.rb
364
+ - lib/poise_boiler/helpers.rb
365
+ - lib/poise_boiler/helpers/rake.rb
366
+ - lib/poise_boiler/helpers/rake/badges.rb
367
+ - lib/poise_boiler/helpers/rake/core.rb
368
+ - lib/poise_boiler/helpers/rake/travis.rb
369
+ - lib/poise_boiler/helpers/spec_helper.rb
370
+ - lib/poise_boiler/kitchen.rb
371
+ - lib/poise_boiler/rake.rb
372
+ - lib/poise_boiler/rakefile.rb
373
+ - lib/poise_boiler/spec_helper.rb
374
+ - lib/poise_boiler/version.rb
375
+ - poise-boiler.gemspec
376
+ - spec/helpers/badge_spec.rb
377
+ - spec/helpers/travis_spec.rb
378
+ - spec/kitchen_spec.rb
379
+ - spec/rakefile_spec.rb
380
+ - spec/spec_helper.rb
381
+ - spec/spec_helper_spec.rb
382
+ homepage: https://github.com/poise/poise-boiler
383
+ licenses:
384
+ - Apache 2.0
385
+ metadata:
386
+ halite_ignore: 'true'
387
+ post_install_message:
388
+ rdoc_options: []
389
+ require_paths:
390
+ - lib
391
+ required_ruby_version: !ruby/object:Gem::Requirement
392
+ requirements:
393
+ - - ">="
394
+ - !ruby/object:Gem::Version
395
+ version: '0'
396
+ required_rubygems_version: !ruby/object:Gem::Requirement
397
+ requirements:
398
+ - - ">="
399
+ - !ruby/object:Gem::Version
400
+ version: '0'
401
+ requirements: []
402
+ rubyforge_project:
403
+ rubygems_version: 2.4.5
404
+ signing_key:
405
+ specification_version: 4
406
+ summary: Boilerplate-reduction helpers for Poise/Halite-style gemss.
407
+ test_files:
408
+ - spec/helpers/badge_spec.rb
409
+ - spec/helpers/travis_spec.rb
410
+ - spec/kitchen_spec.rb
411
+ - spec/rakefile_spec.rb
412
+ - spec/spec_helper.rb
413
+ - spec/spec_helper_spec.rb
414
+ has_rdoc: