Skip to content
This repository was archived by the owner on Nov 30, 2022. It is now read-only.

Commit c822091

Browse files
Merge pull request #25 from codenamephp/templateVariables
Template variables
2 parents 48ca246 + f1bb815 commit c822091

5 files changed

Lines changed: 30 additions & 10 deletions

File tree

.travis.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ install:
2727
- openssl aes-256-cbc -K $encrypted_264707aa6565_key -iv $encrypted_264707aa6565_iv -in codenamephp.pem.enc -out codenamephp.pem -d
2828

2929
script:
30-
- chef exec foodcritic .
31-
- chef exec rubocop
30+
- chef exec cookstyle .
3231
- chef exec kitchen test
3332

3433
before_deploy:

resources/template.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
property :filename, String, required: true, description: 'The file name in the dropfolder, should begin with a number for sorting, e.g. 100-myFile'
66
property :source, String, required: true, description: 'The source template to use'
77
property :cookbook, String, description: 'The cookbook the template file is in, defaults to the current cookbook'
8+
property :variables, Hash, default: {}, description: 'Hash of variables to pass to the template resource'
89

910
action :add do
1011
create_file('/etc/skel', 'root', new_resource.filename, new_resource.source) if new_resource.skel
@@ -20,6 +21,7 @@ def create_file(folder, user, filename, source)
2021
path "#{folder}/.bashrc.d/#{filename}"
2122
source source
2223
cookbook new_resource.cookbook
24+
variables(new_resource.variables)
2325
end
2426
end
2527

test/fixtures/cookbooks/test/recipes/default.rb

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,46 +10,54 @@
1010
end
1111

1212
codenamephp_bash_manage 'manage bash' do
13-
users %w[user1 user2 user3]
13+
users %w(user1 user2 user3)
1414
end
1515

1616
codenamephp_bash_file 'add a file' do
17-
users %w[user1 user2 user3]
17+
users %w(user1 user2 user3)
1818
filename '100-content'
1919
content 'just some test'
2020
end
2121

2222
codenamephp_bash_cookbook_file 'add a cookbook file' do
23-
users %w[user1 user2 user3]
23+
users %w(user1 user2 user3)
2424
filename '200-file'
2525
cookbook_file 'some_file'
2626
cookbook 'test'
2727
end
2828

2929
codenamephp_bash_template 'add a template file' do
30-
users %w[user1 user2 user3]
30+
users %w(user1 user2 user3)
3131
filename '300-template'
3232
source 'some_template'
3333
cookbook 'test'
3434
end
3535

36+
codenamephp_bash_template 'add a template file with variables' do
37+
users %w(user1 user2 user3)
38+
filename '300-template-with-variables'
39+
source 'template_with_variable.erb'
40+
cookbook 'test'
41+
variables({ 'value': 'super value' })
42+
end
43+
3644
codenamephp_bash_file 'add a file' do
37-
users %w[user3]
45+
users %w(user3)
3846
filename '400-content'
3947
content 'just some test'
4048
end
4149
codenamephp_bash_file 'add a file' do
42-
users %w[user3]
50+
users %w(user3)
4351
filename '500-content'
4452
content 'just some test'
4553
end
4654

4755
codenamephp_bash_remove_file 'remove a file' do
48-
users %w[user3]
56+
users %w(user3)
4957
filename '400-content'
5058
end
5159
codenamephp_bash_remove_file 'remove a file' do
52-
users %w[user3]
60+
users %w(user3)
5361
filename '500-content'
5462
skel false
5563
end
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Just some <%= @value %>

test/smoke/default/default_test.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,16 @@
124124
its('owner') { should eq 'user1' }
125125
its('group') { should eq 'user1' }
126126
end
127+
128+
describe file('/home/user1/.bashrc.d/300-template-with-variables') do
129+
it { should exist }
130+
it { should be_file }
131+
its('content') { should match('Just some super value') }
132+
its('mode') { should cmp '0770' }
133+
its('owner') { should eq 'user1' }
134+
its('group') { should eq 'user1' }
135+
end
136+
127137
describe file('/home/user1/.bashrc.d/400-content') do
128138
it { should_not exist }
129139
end

0 commit comments

Comments
 (0)