wright 0.4.4 → 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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +10 -3
  3. data/NEWS.md +8 -0
  4. data/README.md +9 -16
  5. data/lib/wright/cli.rb +25 -24
  6. data/lib/wright/config.rb +5 -3
  7. data/lib/wright/dsl.rb +52 -9
  8. data/lib/wright/logger.rb +1 -1
  9. data/lib/wright/provider.rb +8 -5
  10. data/lib/wright/provider/directory.rb +2 -2
  11. data/lib/wright/provider/file.rb +4 -4
  12. data/lib/wright/provider/group.rb +4 -4
  13. data/lib/wright/provider/package.rb +3 -3
  14. data/lib/wright/provider/package/apt.rb +1 -1
  15. data/lib/wright/provider/package/yum.rb +1 -1
  16. data/lib/wright/provider/symlink.rb +2 -2
  17. data/lib/wright/provider/user.rb +8 -8
  18. data/lib/wright/resource.rb +21 -19
  19. data/lib/wright/resource/directory.rb +21 -10
  20. data/lib/wright/resource/file.rb +25 -14
  21. data/lib/wright/resource/group.rb +16 -9
  22. data/lib/wright/resource/package.rb +14 -9
  23. data/lib/wright/resource/symlink.rb +10 -8
  24. data/lib/wright/resource/user.rb +30 -9
  25. data/lib/wright/util.rb +14 -2
  26. data/lib/wright/util/erb_renderer.rb +29 -0
  27. data/lib/wright/util/file.rb +1 -1
  28. data/lib/wright/util/file_owner.rb +8 -3
  29. data/lib/wright/util/file_permissions.rb +14 -12
  30. data/lib/wright/util/file_renderer.rb +50 -0
  31. data/lib/wright/util/mustache_renderer.rb +41 -0
  32. data/lib/wright/util/pencil_mustache.rb +58 -0
  33. data/lib/wright/version.rb +1 -1
  34. data/man/wright.1 +10 -11
  35. data/spec/dsl_spec.rb +72 -7
  36. data/spec/provider/package/apt/{apt-get_--purge_remove_-qy_abcde.return → apt-get_-qy_--purge_remove_abcde.return} +0 -0
  37. data/spec/provider/package/apt/{apt-get_--purge_remove_-qy_abcde.stderr → apt-get_-qy_--purge_remove_abcde.stderr} +0 -0
  38. data/spec/provider/package/apt/{apt-get_--purge_remove_-qy_abcde.stdout → apt-get_-qy_--purge_remove_abcde.stdout} +0 -0
  39. data/spec/provider/package/apt/{apt-get_install_-qy_abcde=2.5.4-1.return → apt-get_-qy_install_abcde=2.5.4-1.return} +0 -0
  40. data/spec/provider/package/apt/{apt-get_install_-qy_abcde=2.5.4-1.stderr → apt-get_-qy_install_abcde=2.5.4-1.stderr} +0 -0
  41. data/spec/provider/package/apt/{apt-get_install_-qy_abcde=2.5.4-1.stdout → apt-get_-qy_install_abcde=2.5.4-1.stdout} +0 -0
  42. data/spec/provider/package/apt/{apt-get_install_-qy_htop.return → apt-get_-qy_install_htop.return} +0 -0
  43. data/spec/provider/package/apt/{apt-get_install_-qy_htop.stderr → apt-get_-qy_install_htop.stderr} +0 -0
  44. data/spec/provider/package/apt/{apt-get_install_-qy_htop.stdout → apt-get_-qy_install_htop.stdout} +0 -0
  45. data/spec/provider/package/apt/{apt-get_install_-qy_not-a-real-package.return → apt-get_-qy_install_not-a-real-package.return} +0 -0
  46. data/spec/provider/package/apt/{apt-get_install_-qy_not-a-real-package.stderr → apt-get_-qy_install_not-a-real-package.stderr} +0 -0
  47. data/spec/provider/package/apt/{apt-get_install_-qy_not-a-real-package.stdout → apt-get_-qy_install_not-a-real-package.stdout} +0 -0
  48. data/spec/provider/package/apt/{apt-get_remove_-qy_abcde.return → apt-get_-qy_remove_abcde.return} +0 -0
  49. data/spec/provider/package/apt/{apt-get_remove_-qy_abcde.stderr → apt-get_-qy_remove_abcde.stderr} +0 -0
  50. data/spec/provider/package/apt/{apt-get_remove_-qy_abcde.stdout → apt-get_-qy_remove_abcde.stdout} +0 -0
  51. data/spec/provider/package/apt_spec.rb +2 -2
  52. data/spec/provider/package/yum/{yum_install_-y_mc-4.8.7-8.el7.return → yum_-y_install_mc-4.8.7-8.el7.return} +0 -0
  53. data/spec/provider/package/yum/{yum_install_-y_mc-4.8.7-8.el7.stderr → yum_-y_install_mc-4.8.7-8.el7.stderr} +0 -0
  54. data/spec/provider/package/yum/{yum_install_-y_mc-4.8.7-8.el7.stdout → yum_-y_install_mc-4.8.7-8.el7.stdout} +0 -0
  55. data/spec/provider/package/yum/{yum_install_-y_nano.return → yum_-y_install_nano.return} +0 -0
  56. data/spec/provider/package/yum/{yum_install_-y_nano.stderr → yum_-y_install_nano.stderr} +0 -0
  57. data/spec/provider/package/yum/{yum_install_-y_nano.stdout → yum_-y_install_nano.stdout} +0 -0
  58. data/spec/provider/package/yum/{yum_install_-y_not-a-real-package.return → yum_-y_install_not-a-real-package.return} +0 -0
  59. data/spec/provider/package/yum/{yum_install_-y_not-a-real-package.stderr → yum_-y_install_not-a-real-package.stderr} +0 -0
  60. data/spec/provider/package/yum/{yum_install_-y_not-a-real-package.stdout → yum_-y_install_not-a-real-package.stdout} +0 -0
  61. data/spec/provider/package/yum/{yum_remove_-y_screen.return → yum_-y_remove_screen.return} +0 -0
  62. data/spec/provider/package/yum/{yum_remove_-y_screen.stderr → yum_-y_remove_screen.stderr} +0 -0
  63. data/spec/provider/package/yum/{yum_remove_-y_screen.stdout → yum_-y_remove_screen.stdout} +0 -0
  64. data/spec/provider/package/yum_spec.rb +1 -1
  65. data/spec/resource/directory_spec.rb +15 -0
  66. data/spec/resource/file_spec.rb +17 -0
  67. data/spec/resource/group_spec.rb +15 -0
  68. data/spec/resource/package_spec.rb +13 -0
  69. data/spec/resource/symlink_spec.rb +11 -0
  70. data/spec/resource/user_spec.rb +32 -0
  71. data/spec/resource_spec.rb +18 -10
  72. data/spec/spec_helper.rb +1 -0
  73. data/spec/spec_helpers/fake_capture3.rb +1 -1
  74. data/spec/util/erb_renderer_spec.rb +23 -0
  75. data/spec/util/file_owner_spec.rb +19 -0
  76. data/spec/util/file_renderer_spec.rb +28 -0
  77. data/spec/util/mustache_renderer_spec.rb +57 -0
  78. data/spec/util/pencil_mustache_spec.rb +15 -0
  79. data/spec/util_spec.rb +17 -3
  80. metadata +90 -64
@@ -3,6 +3,7 @@ require_relative 'spec_helpers/test_coverage'
3
3
 
4
4
  require 'ostruct'
5
5
  require 'fakefs/safe'
6
+ require 'minitest/stub_const'
6
7
 
7
8
  measure_coverage if coverage?
8
9
 
@@ -31,7 +31,7 @@ class FakeCapture3
31
31
 
32
32
  def return_values(command_and_args, base_filename)
33
33
  filename = base_filename ||
34
- command_and_args.join(' ').gsub(' ', '_').gsub('/', 'SLASH')
34
+ command_and_args.join(' ').tr(' ', '_').gsub('/', 'SLASH')
35
35
  command_stdout = File.read("#{@basedir}/#{filename}.stdout")
36
36
  command_stderr = File.read("#{@basedir}/#{filename}.stderr")
37
37
  command_status = File.read("#{@basedir}/#{filename}.return").chomp == '0'
@@ -0,0 +1,23 @@
1
+ require_relative '../spec_helper'
2
+
3
+ require 'wright/util/erb_renderer'
4
+
5
+ describe Wright::Util::ErbRenderer do
6
+ describe 'render' do
7
+ it 'should render ERB templates' do
8
+ template = "foo: <%= foo %>\n"
9
+ hash = { foo: 'FOO' }
10
+ renderer = Wright::Util::ErbRenderer.new(hash)
11
+ expected = "foo: FOO\n"
12
+ actual = renderer.render(template)
13
+ actual.must_equal expected
14
+ end
15
+
16
+ it 'should throw exceptions when encountering undefined names' do
17
+ template = '<%= undefined_name %>'
18
+ hash = {}
19
+ renderer = Wright::Util::ErbRenderer.new(hash)
20
+ -> { renderer.render(template) }.must_raise NameError
21
+ end
22
+ end
23
+ end
@@ -7,6 +7,25 @@ describe Wright::Util::FileOwner do
7
7
  @owner = Wright::Util::FileOwner.new
8
8
  end
9
9
 
10
+ describe '#initialize' do
11
+ it 'should accept user and group arguments' do
12
+ owner = Wright::Util::FileOwner.new('user')
13
+ owner.user.must_equal 'user'
14
+
15
+ owner = Wright::Util::FileOwner.new('user', 'group')
16
+ owner.user.must_equal 'user'
17
+ owner.group.must_equal 'group'
18
+
19
+ owner = Wright::Util::FileOwner.new('user:group')
20
+ owner.user.must_equal 'user'
21
+ owner.group.must_equal 'group'
22
+
23
+ owner = Wright::Util::FileOwner.new('user:group1', 'group2')
24
+ owner.user.must_equal 'user'
25
+ owner.group.must_equal 'group2'
26
+ end
27
+ end
28
+
10
29
  describe '#user_and_group=' do
11
30
  it 'should set the user' do
12
31
  @owner.group = 'group'
@@ -0,0 +1,28 @@
1
+ require_relative '../spec_helper'
2
+
3
+ require 'wright/util/file_renderer'
4
+
5
+ describe Wright::Util::FileRenderer do
6
+ describe 'render' do
7
+ before(:each) do
8
+ @template_files = {
9
+ 'foo.erb' => '<%= foo %>',
10
+ 'foo.mustache' => '{{foo}}'
11
+ }
12
+ end
13
+
14
+ after(:each) { FakeFS::FileSystem.clear }
15
+
16
+ it 'should render template files' do
17
+ renderer = Wright::Util::FileRenderer.new(foo: 'FOOBAR')
18
+ FakeFS do
19
+ @template_files.each do |filename, template|
20
+ File.write(filename, template)
21
+ expected = 'FOOBAR'
22
+ actual = renderer.render(filename)
23
+ actual.must_equal expected
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,57 @@
1
+ require_relative '../spec_helper'
2
+
3
+ require 'wright/util/mustache_renderer'
4
+
5
+ describe Wright::Util::MustacheRenderer do
6
+ describe 'render' do
7
+ it 'should render mustache templates' do
8
+ template = "foo: {{foo}}\n"
9
+ hash = { foo: 'FOO' }
10
+ renderer = Wright::Util::MustacheRenderer.new(hash)
11
+ expected = "foo: FOO\n"
12
+ actual = renderer.render(template)
13
+ actual.must_equal expected
14
+ end
15
+
16
+ it 'should throw exceptions when encountering undefined names' do
17
+ skip unless defined?(Mustache)
18
+ template = '{{undefined_name}}'
19
+ hash = {}
20
+ renderer = Wright::Util::MustacheRenderer.new(hash)
21
+ -> { renderer.render(template) }.must_raise Mustache::ContextMiss
22
+ end
23
+
24
+ it 'should delegate rendering templates to Mustache' do
25
+ template = "foo: {{foo}}\n"
26
+ hash = { foo: 'FOO' }
27
+ mustache_class_double = Minitest::Mock.new
28
+ mustache_object_double = Minitest::Mock.new
29
+ mustache_class_double.expect(:new, mustache_object_double)
30
+ mustache_object_double.expect(:raise_on_context_miss=, true, [true])
31
+ mustache_object_double.expect(:render, nil, [template, hash])
32
+
33
+ Object.stub_const(:Mustache, mustache_class_double) do
34
+ Wright::Util::MustacheRenderer.new(hash).render(template)
35
+ end
36
+ mustache_class_double.verify
37
+ mustache_object_double.verify
38
+ end
39
+
40
+ it 'should fall back to pencil_mustache if Mustache is not available' do
41
+ template = "foo: {{foo}}\n"
42
+ hash = { foo: 'FOO' }
43
+ mustache_class_double = Minitest::Mock.new
44
+ mustache_object_double = Minitest::Mock.new
45
+ mustache_class_double.expect(:new, mustache_object_double)
46
+ mustache_object_double.expect(:render, nil, [template, hash])
47
+
48
+ Object.stub_remove_const(:Mustache) do
49
+ Wright::Util.stub_const(:PencilMustache, mustache_class_double) do
50
+ Wright::Util::MustacheRenderer.new(hash).render(template)
51
+ end
52
+ end
53
+ mustache_class_double.verify
54
+ mustache_object_double.verify
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,15 @@
1
+ require_relative '../spec_helper'
2
+
3
+ require 'wright/util/pencil_mustache'
4
+
5
+ describe Wright::Util::PencilMustache do
6
+ describe 'render' do
7
+ it 'should render mustache templates' do
8
+ template = "foo: {{foo}}\n"
9
+ hash = { foo: 'FOO' }
10
+ expected = "foo: FOO\n"
11
+ actual = Wright::Util::PencilMustache.new.render(template, hash)
12
+ actual.must_equal expected
13
+ end
14
+ end
15
+ end
@@ -1,6 +1,5 @@
1
1
  require_relative 'spec_helper'
2
2
 
3
- require 'minitest/stub_const'
4
3
  require 'wright/util'
5
4
 
6
5
  describe Wright::Util do
@@ -95,9 +94,9 @@ EOS
95
94
 
96
95
  after(:each) { FakeFS::FileSystem.clear }
97
96
 
98
- it 'should detect MacOS X' do
97
+ it 'should detect OS X' do
99
98
  stub_os('darwin13') do
100
- Wright::Util.os_family.must_equal 'macosx'
99
+ Wright::Util.os_family.must_equal 'osx'
101
100
  end
102
101
  end
103
102
 
@@ -155,4 +154,19 @@ EOS
155
154
  mock.verify
156
155
  end
157
156
  end
157
+
158
+ describe 'fetch_last' do
159
+ it 'should fetch the value of the last candidate key from a hash' do
160
+ hash = { candidate1: :value1, candidate2: :value2, foo: :bar }
161
+ candidates = [:candidate2, :candidate1]
162
+ Wright::Util.fetch_last(hash, candidates).must_equal :value2
163
+ end
164
+
165
+ it 'should return the default value if no candidate key is found' do
166
+ hash = { foo: :foo, bar: :bar, baz: :baz }
167
+ candidates = [:qux, :quux]
168
+ Wright::Util.fetch_last(hash, candidates).must_be_nil
169
+ Wright::Util.fetch_last(hash, candidates, :default).must_equal :default
170
+ end
171
+ end
158
172
  end
metadata CHANGED
@@ -1,43 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wright
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Boehm
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-06 00:00:00.000000000 Z
11
+ date: 2015-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: mustache
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 1.0.2
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 1.0.2
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: minitest
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
31
  - - ~>
18
32
  - !ruby/object:Gem::Version
19
- version: 5.7.0
33
+ version: 5.8.0
20
34
  type: :development
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
38
  - - ~>
25
39
  - !ruby/object:Gem::Version
26
- version: 5.7.0
40
+ version: 5.8.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: minitest-stub-const
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - ~>
32
46
  - !ruby/object:Gem::Version
33
- version: '0.4'
47
+ version: '0.5'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - ~>
39
53
  - !ruby/object:Gem::Version
40
- version: '0.4'
54
+ version: '0.5'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: fakefs
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +114,14 @@ dependencies:
100
114
  requirements:
101
115
  - - ~>
102
116
  - !ruby/object:Gem::Version
103
- version: 3.2.3
117
+ version: 3.3.2
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - ~>
109
123
  - !ruby/object:Gem::Version
110
- version: 3.2.3
124
+ version: 3.3.2
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: simplecov
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +156,14 @@ dependencies:
142
156
  requirements:
143
157
  - - ~>
144
158
  - !ruby/object:Gem::Version
145
- version: 0.32.0
159
+ version: 0.34.1
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - ~>
151
165
  - !ruby/object:Gem::Version
152
- version: 0.32.0
166
+ version: 0.34.1
153
167
  description: |
154
168
  Wright is a lightweight configuration management tool.
155
169
  email:
@@ -187,9 +201,13 @@ files:
187
201
  - lib/wright/resource/user.rb
188
202
  - lib/wright/resource.rb
189
203
  - lib/wright/util/color.rb
204
+ - lib/wright/util/erb_renderer.rb
190
205
  - lib/wright/util/file.rb
191
206
  - lib/wright/util/file_owner.rb
192
207
  - lib/wright/util/file_permissions.rb
208
+ - lib/wright/util/file_renderer.rb
209
+ - lib/wright/util/mustache_renderer.rb
210
+ - lib/wright/util/pencil_mustache.rb
193
211
  - lib/wright/util/recursive_autoloader.rb
194
212
  - lib/wright/util/stolen_from_activesupport.rb
195
213
  - lib/wright/util/user.rb
@@ -302,21 +320,21 @@ files:
302
320
  - spec/provider/package/apt/apt-cache_showpkg_suckless-tools.return
303
321
  - spec/provider/package/apt/apt-cache_showpkg_suckless-tools.stderr
304
322
  - spec/provider/package/apt/apt-cache_showpkg_suckless-tools.stdout
305
- - spec/provider/package/apt/apt-get_--purge_remove_-qy_abcde.return
306
- - spec/provider/package/apt/apt-get_--purge_remove_-qy_abcde.stderr
307
- - spec/provider/package/apt/apt-get_--purge_remove_-qy_abcde.stdout
308
- - spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.return
309
- - spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.stderr
310
- - spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.stdout
311
- - spec/provider/package/apt/apt-get_install_-qy_htop.return
312
- - spec/provider/package/apt/apt-get_install_-qy_htop.stderr
313
- - spec/provider/package/apt/apt-get_install_-qy_htop.stdout
314
- - spec/provider/package/apt/apt-get_install_-qy_not-a-real-package.return
315
- - spec/provider/package/apt/apt-get_install_-qy_not-a-real-package.stderr
316
- - spec/provider/package/apt/apt-get_install_-qy_not-a-real-package.stdout
317
- - spec/provider/package/apt/apt-get_remove_-qy_abcde.return
318
- - spec/provider/package/apt/apt-get_remove_-qy_abcde.stderr
319
- - spec/provider/package/apt/apt-get_remove_-qy_abcde.stdout
323
+ - spec/provider/package/apt/apt-get_-qy_--purge_remove_abcde.return
324
+ - spec/provider/package/apt/apt-get_-qy_--purge_remove_abcde.stderr
325
+ - spec/provider/package/apt/apt-get_-qy_--purge_remove_abcde.stdout
326
+ - spec/provider/package/apt/apt-get_-qy_install_abcde=2.5.4-1.return
327
+ - spec/provider/package/apt/apt-get_-qy_install_abcde=2.5.4-1.stderr
328
+ - spec/provider/package/apt/apt-get_-qy_install_abcde=2.5.4-1.stdout
329
+ - spec/provider/package/apt/apt-get_-qy_install_htop.return
330
+ - spec/provider/package/apt/apt-get_-qy_install_htop.stderr
331
+ - spec/provider/package/apt/apt-get_-qy_install_htop.stdout
332
+ - spec/provider/package/apt/apt-get_-qy_install_not-a-real-package.return
333
+ - spec/provider/package/apt/apt-get_-qy_install_not-a-real-package.stderr
334
+ - spec/provider/package/apt/apt-get_-qy_install_not-a-real-package.stdout
335
+ - spec/provider/package/apt/apt-get_-qy_remove_abcde.return
336
+ - spec/provider/package/apt/apt-get_-qy_remove_abcde.stderr
337
+ - spec/provider/package/apt/apt-get_-qy_remove_abcde.stdout
320
338
  - spec/provider/package/apt_spec.rb
321
339
  - spec/provider/package/homebrew/brew_info_--json=v1_cd-discid.return
322
340
  - spec/provider/package/homebrew/brew_info_--json=v1_cd-discid.stderr
@@ -349,21 +367,21 @@ files:
349
367
  - spec/provider/package/yum/rpm_-q_zsh.return
350
368
  - spec/provider/package/yum/rpm_-q_zsh.stderr
351
369
  - spec/provider/package/yum/rpm_-q_zsh.stdout
352
- - spec/provider/package/yum/yum_install_-y_mc-4.8.7-8.el7.return
353
- - spec/provider/package/yum/yum_install_-y_mc-4.8.7-8.el7.stderr
354
- - spec/provider/package/yum/yum_install_-y_mc-4.8.7-8.el7.stdout
355
- - spec/provider/package/yum/yum_install_-y_nano.return
356
- - spec/provider/package/yum/yum_install_-y_nano.stderr
357
- - spec/provider/package/yum/yum_install_-y_nano.stdout
358
- - spec/provider/package/yum/yum_install_-y_not-a-real-package.return
359
- - spec/provider/package/yum/yum_install_-y_not-a-real-package.stderr
360
- - spec/provider/package/yum/yum_install_-y_not-a-real-package.stdout
370
+ - spec/provider/package/yum/yum_-y_install_mc-4.8.7-8.el7.return
371
+ - spec/provider/package/yum/yum_-y_install_mc-4.8.7-8.el7.stderr
372
+ - spec/provider/package/yum/yum_-y_install_mc-4.8.7-8.el7.stdout
373
+ - spec/provider/package/yum/yum_-y_install_nano.return
374
+ - spec/provider/package/yum/yum_-y_install_nano.stderr
375
+ - spec/provider/package/yum/yum_-y_install_nano.stdout
376
+ - spec/provider/package/yum/yum_-y_install_not-a-real-package.return
377
+ - spec/provider/package/yum/yum_-y_install_not-a-real-package.stderr
378
+ - spec/provider/package/yum/yum_-y_install_not-a-real-package.stdout
379
+ - spec/provider/package/yum/yum_-y_remove_screen.return
380
+ - spec/provider/package/yum/yum_-y_remove_screen.stderr
381
+ - spec/provider/package/yum/yum_-y_remove_screen.stdout
361
382
  - spec/provider/package/yum/yum_install_with_options.return
362
383
  - spec/provider/package/yum/yum_install_with_options.stderr
363
384
  - spec/provider/package/yum/yum_install_with_options.stdout
364
- - spec/provider/package/yum/yum_remove_-y_screen.return
365
- - spec/provider/package/yum/yum_remove_-y_screen.stderr
366
- - spec/provider/package/yum/yum_remove_-y_screen.stdout
367
385
  - spec/provider/package/yum/yum_remove_with_options.return
368
386
  - spec/provider/package/yum/yum_remove_with_options.stderr
369
387
  - spec/provider/package/yum/yum_remove_with_options.stdout
@@ -424,9 +442,13 @@ files:
424
442
  - spec/spec_helpers/fake_capture3.rb
425
443
  - spec/spec_helpers/test_coverage.rb
426
444
  - spec/util/activesupport_spec.rb
445
+ - spec/util/erb_renderer_spec.rb
427
446
  - spec/util/file_owner_spec.rb
428
447
  - spec/util/file_permissions_spec.rb
448
+ - spec/util/file_renderer_spec.rb
429
449
  - spec/util/file_spec.rb
450
+ - spec/util/mustache_renderer_spec.rb
451
+ - spec/util/pencil_mustache_spec.rb
430
452
  - spec/util/user_spec.rb
431
453
  - spec/util_spec.rb
432
454
  - man/wright.1
@@ -566,21 +588,21 @@ test_files:
566
588
  - spec/provider/package/apt/apt-cache_showpkg_suckless-tools.return
567
589
  - spec/provider/package/apt/apt-cache_showpkg_suckless-tools.stderr
568
590
  - spec/provider/package/apt/apt-cache_showpkg_suckless-tools.stdout
569
- - spec/provider/package/apt/apt-get_--purge_remove_-qy_abcde.return
570
- - spec/provider/package/apt/apt-get_--purge_remove_-qy_abcde.stderr
571
- - spec/provider/package/apt/apt-get_--purge_remove_-qy_abcde.stdout
572
- - spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.return
573
- - spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.stderr
574
- - spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.stdout
575
- - spec/provider/package/apt/apt-get_install_-qy_htop.return
576
- - spec/provider/package/apt/apt-get_install_-qy_htop.stderr
577
- - spec/provider/package/apt/apt-get_install_-qy_htop.stdout
578
- - spec/provider/package/apt/apt-get_install_-qy_not-a-real-package.return
579
- - spec/provider/package/apt/apt-get_install_-qy_not-a-real-package.stderr
580
- - spec/provider/package/apt/apt-get_install_-qy_not-a-real-package.stdout
581
- - spec/provider/package/apt/apt-get_remove_-qy_abcde.return
582
- - spec/provider/package/apt/apt-get_remove_-qy_abcde.stderr
583
- - spec/provider/package/apt/apt-get_remove_-qy_abcde.stdout
591
+ - spec/provider/package/apt/apt-get_-qy_--purge_remove_abcde.return
592
+ - spec/provider/package/apt/apt-get_-qy_--purge_remove_abcde.stderr
593
+ - spec/provider/package/apt/apt-get_-qy_--purge_remove_abcde.stdout
594
+ - spec/provider/package/apt/apt-get_-qy_install_abcde=2.5.4-1.return
595
+ - spec/provider/package/apt/apt-get_-qy_install_abcde=2.5.4-1.stderr
596
+ - spec/provider/package/apt/apt-get_-qy_install_abcde=2.5.4-1.stdout
597
+ - spec/provider/package/apt/apt-get_-qy_install_htop.return
598
+ - spec/provider/package/apt/apt-get_-qy_install_htop.stderr
599
+ - spec/provider/package/apt/apt-get_-qy_install_htop.stdout
600
+ - spec/provider/package/apt/apt-get_-qy_install_not-a-real-package.return
601
+ - spec/provider/package/apt/apt-get_-qy_install_not-a-real-package.stderr
602
+ - spec/provider/package/apt/apt-get_-qy_install_not-a-real-package.stdout
603
+ - spec/provider/package/apt/apt-get_-qy_remove_abcde.return
604
+ - spec/provider/package/apt/apt-get_-qy_remove_abcde.stderr
605
+ - spec/provider/package/apt/apt-get_-qy_remove_abcde.stdout
584
606
  - spec/provider/package/apt_spec.rb
585
607
  - spec/provider/package/homebrew/brew_info_--json=v1_cd-discid.return
586
608
  - spec/provider/package/homebrew/brew_info_--json=v1_cd-discid.stderr
@@ -613,21 +635,21 @@ test_files:
613
635
  - spec/provider/package/yum/rpm_-q_zsh.return
614
636
  - spec/provider/package/yum/rpm_-q_zsh.stderr
615
637
  - spec/provider/package/yum/rpm_-q_zsh.stdout
616
- - spec/provider/package/yum/yum_install_-y_mc-4.8.7-8.el7.return
617
- - spec/provider/package/yum/yum_install_-y_mc-4.8.7-8.el7.stderr
618
- - spec/provider/package/yum/yum_install_-y_mc-4.8.7-8.el7.stdout
619
- - spec/provider/package/yum/yum_install_-y_nano.return
620
- - spec/provider/package/yum/yum_install_-y_nano.stderr
621
- - spec/provider/package/yum/yum_install_-y_nano.stdout
622
- - spec/provider/package/yum/yum_install_-y_not-a-real-package.return
623
- - spec/provider/package/yum/yum_install_-y_not-a-real-package.stderr
624
- - spec/provider/package/yum/yum_install_-y_not-a-real-package.stdout
638
+ - spec/provider/package/yum/yum_-y_install_mc-4.8.7-8.el7.return
639
+ - spec/provider/package/yum/yum_-y_install_mc-4.8.7-8.el7.stderr
640
+ - spec/provider/package/yum/yum_-y_install_mc-4.8.7-8.el7.stdout
641
+ - spec/provider/package/yum/yum_-y_install_nano.return
642
+ - spec/provider/package/yum/yum_-y_install_nano.stderr
643
+ - spec/provider/package/yum/yum_-y_install_nano.stdout
644
+ - spec/provider/package/yum/yum_-y_install_not-a-real-package.return
645
+ - spec/provider/package/yum/yum_-y_install_not-a-real-package.stderr
646
+ - spec/provider/package/yum/yum_-y_install_not-a-real-package.stdout
647
+ - spec/provider/package/yum/yum_-y_remove_screen.return
648
+ - spec/provider/package/yum/yum_-y_remove_screen.stderr
649
+ - spec/provider/package/yum/yum_-y_remove_screen.stdout
625
650
  - spec/provider/package/yum/yum_install_with_options.return
626
651
  - spec/provider/package/yum/yum_install_with_options.stderr
627
652
  - spec/provider/package/yum/yum_install_with_options.stdout
628
- - spec/provider/package/yum/yum_remove_-y_screen.return
629
- - spec/provider/package/yum/yum_remove_-y_screen.stderr
630
- - spec/provider/package/yum/yum_remove_-y_screen.stdout
631
653
  - spec/provider/package/yum/yum_remove_with_options.return
632
654
  - spec/provider/package/yum/yum_remove_with_options.stderr
633
655
  - spec/provider/package/yum/yum_remove_with_options.stdout
@@ -688,9 +710,13 @@ test_files:
688
710
  - spec/spec_helpers/fake_capture3.rb
689
711
  - spec/spec_helpers/test_coverage.rb
690
712
  - spec/util/activesupport_spec.rb
713
+ - spec/util/erb_renderer_spec.rb
691
714
  - spec/util/file_owner_spec.rb
692
715
  - spec/util/file_permissions_spec.rb
716
+ - spec/util/file_renderer_spec.rb
693
717
  - spec/util/file_spec.rb
718
+ - spec/util/mustache_renderer_spec.rb
719
+ - spec/util/pencil_mustache_spec.rb
694
720
  - spec/util/user_spec.rb
695
721
  - spec/util_spec.rb
696
722
  has_rdoc: