poise-boiler 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: