halite 1.0.0.rc.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.rubocop.yml +20 -0
  4. data/.travis.yml +14 -4
  5. data/.yardopts +7 -0
  6. data/CHANGELOG.md +5 -0
  7. data/Gemfile +30 -8
  8. data/LICENSE +202 -202
  9. data/README.md +104 -2
  10. data/Rakefile +25 -5
  11. data/gemfiles/default.gemfile +17 -0
  12. data/gemfiles/master.gemfile +21 -0
  13. data/halite.gemspec +21 -10
  14. data/lib/berkshelf/halite.rb +25 -0
  15. data/lib/berkshelf/locations/gem.rb +84 -0
  16. data/lib/halite.rb +34 -4
  17. data/lib/halite/berkshelf/helper.rb +8 -2
  18. data/lib/halite/berkshelf/source.rb +9 -1
  19. data/lib/halite/converter.rb +34 -10
  20. data/lib/halite/converter/chef.rb +43 -0
  21. data/lib/halite/converter/libraries.rb +93 -26
  22. data/lib/halite/converter/metadata.rb +48 -10
  23. data/lib/halite/converter/misc.rb +43 -0
  24. data/lib/halite/dependencies.rb +48 -8
  25. data/lib/halite/error.rb +20 -0
  26. data/lib/halite/gem.rb +106 -21
  27. data/lib/halite/helper_base.rb +129 -0
  28. data/lib/halite/rake_helper.rb +46 -60
  29. data/lib/halite/rake_tasks.rb +17 -1
  30. data/lib/halite/spec_helper.rb +403 -54
  31. data/lib/halite/spec_helper/patcher.rb +130 -0
  32. data/lib/halite/spec_helper/runner.rb +57 -9
  33. data/lib/halite/version.rb +19 -1
  34. data/spec/converter/chef_spec.rb +54 -0
  35. data/spec/converter/libraries_spec.rb +131 -123
  36. data/spec/converter/metadata_spec.rb +61 -8
  37. data/spec/converter/misc_spec.rb +61 -0
  38. data/spec/converter_spec.rb +21 -6
  39. data/spec/dependencies_spec.rb +64 -10
  40. data/spec/example_resources/poise.rb +42 -0
  41. data/spec/example_resources/simple.rb +48 -0
  42. data/spec/{data/gems/test1/lib → fixtures/cookbooks/test1/files/halite_gem}/test1.rb +0 -0
  43. data/spec/{data/gems/test1/lib → fixtures/cookbooks/test1/files/halite_gem}/test1/version.rb +0 -0
  44. data/spec/fixtures/cookbooks/test1/libraries/default.rb +4 -0
  45. data/spec/{data/integration_cookbooks → fixtures/cookbooks}/test1/metadata.rb +0 -0
  46. data/spec/{data/gems/test2/chef → fixtures/cookbooks/test2}/attributes.rb +0 -0
  47. data/spec/{data/gems/test2/lib → fixtures/cookbooks/test2/files/halite_gem}/test2.rb +0 -0
  48. data/spec/{data/gems/test2/lib → fixtures/cookbooks/test2/files/halite_gem}/test2/resource.rb +0 -0
  49. data/spec/{data/gems/test2/lib → fixtures/cookbooks/test2/files/halite_gem}/test2/version.rb +0 -0
  50. data/spec/fixtures/cookbooks/test2/libraries/default.rb +3 -0
  51. data/spec/{data/integration_cookbooks → fixtures/cookbooks}/test2/metadata.rb +1 -1
  52. data/spec/{data/gems/test2/chef → fixtures/cookbooks/test2}/recipes/default.rb +0 -0
  53. data/spec/{data/gems/test2/chef → fixtures/cookbooks/test2}/templates/default/conf.erb +0 -0
  54. data/spec/{data/gems/test3/lib → fixtures/cookbooks/test3/files/halite_gem}/test3.rb +0 -0
  55. data/spec/{data/gems/test3/lib → fixtures/cookbooks/test3/files/halite_gem}/test3/dsl.rb +0 -0
  56. data/spec/{data/gems/test3/lib → fixtures/cookbooks/test3/files/halite_gem}/test3/version.rb +0 -0
  57. data/spec/fixtures/cookbooks/test3/libraries/default.rb +4 -0
  58. data/spec/{data/integration_cookbooks → fixtures/cookbooks}/test3/metadata.rb +0 -0
  59. data/spec/{data/gems/test3/chef → fixtures/cookbooks/test3}/recipes/default.rb +0 -0
  60. data/spec/{data → fixtures}/gems/test1/Rakefile +0 -0
  61. data/spec/fixtures/gems/test1/lib/test1.rb +2 -0
  62. data/spec/fixtures/gems/test1/lib/test1/version.rb +3 -0
  63. data/spec/{data → fixtures}/gems/test1/test1.gemspec +0 -0
  64. data/spec/{data → fixtures}/gems/test2/Rakefile +0 -0
  65. data/spec/{data/integration_cookbooks/test2 → fixtures/gems/test2/chef}/attributes.rb +0 -0
  66. data/spec/{data/integration_cookbooks/test2 → fixtures/gems/test2/chef}/recipes/default.rb +0 -0
  67. data/spec/{data/integration_cookbooks/test2 → fixtures/gems/test2/chef}/templates/default/conf.erb +0 -0
  68. data/spec/fixtures/gems/test2/lib/test2.rb +4 -0
  69. data/spec/{data/integration_cookbooks/test2/libraries/test2__resource.rb → fixtures/gems/test2/lib/test2/resource.rb} +1 -2
  70. data/spec/fixtures/gems/test2/lib/test2/version.rb +3 -0
  71. data/spec/{data → fixtures}/gems/test2/test2.gemspec +0 -0
  72. data/spec/{data → fixtures}/gems/test3/Rakefile +0 -0
  73. data/spec/{data/integration_cookbooks/test3 → fixtures/gems/test3/chef}/recipes/default.rb +0 -0
  74. data/spec/fixtures/gems/test3/lib/test3.rb +4 -0
  75. data/spec/{data/integration_cookbooks/test3/libraries/test3__dsl.rb → fixtures/gems/test3/lib/test3/dsl.rb} +1 -2
  76. data/spec/fixtures/gems/test3/lib/test3/version.rb +3 -0
  77. data/spec/{data → fixtures}/gems/test3/test3.gemspec +1 -0
  78. data/spec/gem_spec.rb +41 -31
  79. data/spec/integration_spec.rb +58 -82
  80. data/spec/runner_spec.rb +108 -0
  81. data/spec/spec_helper.rb +19 -26
  82. data/spec/spec_helper_spec.rb +238 -0
  83. metadata +124 -151
  84. data/lib/halite/converter/other.rb +0 -19
  85. data/lib/halite/converter/readme.rb +0 -20
  86. data/spec/converter/other_spec.rb +0 -56
  87. data/spec/converter/readme_spec.rb +0 -55
  88. data/spec/data/integration_cookbooks/test1/libraries/test1.rb +0 -3
  89. data/spec/data/integration_cookbooks/test1/libraries/test1__version.rb +0 -4
  90. data/spec/data/integration_cookbooks/test2/libraries/test2.rb +0 -5
  91. data/spec/data/integration_cookbooks/test2/libraries/test2__version.rb +0 -4
  92. data/spec/data/integration_cookbooks/test3/libraries/test3.rb +0 -5
  93. data/spec/data/integration_cookbooks/test3/libraries/test3__version.rb +0 -4
data/spec/spec_helper.rb CHANGED
@@ -1,28 +1,21 @@
1
- require 'rspec'
2
- require 'rspec/its'
3
- require 'simplecov'
4
-
5
- # If we have a token, use codeclimate
6
- if ENV['CODECLIMATE_REPO_TOKEN']
7
- require 'codeclimate-test-reporter'
8
- SimpleCov.formatter = CodeClimate::TestReporter::Formatter
9
- end
10
-
11
- SimpleCov.start do
12
- # Don't get coverage on the test cases themselves
13
- add_filter '/test/'
14
- end
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
+ #
15
16
 
17
+ require 'poise_boiler/helpers/spec_helper'
18
+ PoiseBoiler::Helpers::SpecHelper.install(no_halite: true)
16
19
  require 'halite'
17
-
18
- RSpec.configure do |config|
19
- # Basic configuraiton
20
- config.run_all_when_everything_filtered = true
21
- config.filter_run(:focus)
22
-
23
- # Run specs in random order to surface order dependencies. If you find an
24
- # order dependency and want to debug it, you can fix the order by providing
25
- # the seed, which is printed after each run.
26
- # --seed 1234
27
- config.order = 'random'
28
- end
20
+ require 'example_resources/simple'
21
+ require 'example_resources/poise'
@@ -0,0 +1,238 @@
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
+ require 'halite/spec_helper'
20
+
21
+ describe Halite::SpecHelper do
22
+ include Halite::SpecHelper
23
+
24
+ describe '#recipe' do
25
+ context 'with a block' do
26
+ recipe do
27
+ ruby_block 'test'
28
+ end
29
+
30
+ it { is_expected.to run_ruby_block('test') }
31
+ end # /context with a block
32
+
33
+ context 'with a recipe' do
34
+ let(:chefspec_options) { {dry_run: true} }
35
+ recipe 'test'
36
+
37
+ it do
38
+ expect(chef_runner).to receive(:converge).with('test')
39
+ chef_run
40
+ end
41
+ end # /context with a recipe
42
+
43
+ context 'with subject:false' do
44
+ subject { 42 }
45
+ recipe(subject: false) do
46
+ ruby_block 'test'
47
+ end
48
+
49
+ it { is_expected.to eq 42 }
50
+ end # /context with subject:false
51
+ end # /describe #recipe
52
+
53
+ describe '#resource' do
54
+ subject { resource(:halite_test) }
55
+
56
+ context 'with defaults' do
57
+ resource(:halite_test)
58
+ it { is_expected.to be_a(Class) }
59
+ it { is_expected.to be < Chef::Resource }
60
+ it { expect(subject.new(nil, nil).resource_name).to eq(:halite_test) }
61
+ it { expect(subject.new(nil, nil).action).to eq(:run) }
62
+ it { expect(subject.new(nil, nil).allowed_actions).to eq([:nothing, :run]) }
63
+ end # /context with defaults
64
+
65
+ context 'with auto:false' do
66
+ resource(:halite_test, auto: false)
67
+ it { is_expected.to be_a(Class) }
68
+ it { is_expected.to be < Chef::Resource }
69
+ it { expect(subject.new(nil, nil).resource_name).to be_nil }
70
+ it { expect(subject.new(nil, nil).action).to eq(:nothing) }
71
+ it { expect(subject.new(nil, nil).allowed_actions).to eq([:nothing]) }
72
+ end # /context with auto:false
73
+
74
+ context 'with a parent' do
75
+ resource(:halite_test, parent: Chef::Resource::File)
76
+ it { is_expected.to be_a(Class) }
77
+ it { is_expected.to be < Chef::Resource }
78
+ it { is_expected.to be < Chef::Resource::File }
79
+ end # /context with a parent
80
+
81
+ context 'with a helper-defined parent' do
82
+ resource(:halite_parent)
83
+ resource(:halite_test, parent: :halite_parent)
84
+ it { is_expected.to be_a(Class) }
85
+ it { is_expected.to be < Chef::Resource }
86
+ it { is_expected.to be < Chef::Resource::HaliteParent }
87
+ end # /context with a helper-defined parent
88
+
89
+ context 'with a helper-defined parent in an enclosing context' do
90
+ resource(:halite_parent)
91
+ context 'inner' do
92
+ resource(:halite_test, parent: :halite_parent)
93
+ it { is_expected.to be_a(Class) }
94
+ it { is_expected.to be < Chef::Resource }
95
+ it { is_expected.to be < resource(:halite_parent) }
96
+ end
97
+ end # /context with a helper-defined parent in an enclosing context
98
+
99
+ # Long name is long but ¯\_(ツ)_/¯
100
+ context 'regression test for finding the wrong parent in a sibling context' do
101
+ resource(:halite_parent) do
102
+ def value
103
+ :parent
104
+ end
105
+ end
106
+
107
+ context 'sibling' do
108
+ resource(:halite_parent) do
109
+ def value
110
+ :sibling
111
+ end
112
+ end
113
+ end
114
+
115
+ context 'inner' do
116
+ resource(:halite_test, parent: :halite_parent)
117
+ subject { resource(:halite_test).new(nil, nil).value }
118
+ it { is_expected.to eq(:parent) }
119
+ end
120
+ end # /context regression test for finding the wrong parent in a sibling context
121
+
122
+ context 'with step_into:false' do
123
+ resource(:halite_test, step_into: false)
124
+ provider(:halite_test) do
125
+ def action_run
126
+ ruby_block 'inner'
127
+ end
128
+ end
129
+ recipe do
130
+ halite_test 'test'
131
+ end
132
+ # Have to create this because step_into normally handles that
133
+ def run_halite_test(resource_name)
134
+ ChefSpec::Matchers::ResourceMatcher.new(:halite_test, :run, resource_name)
135
+ end
136
+
137
+ it { is_expected.to run_halite_test('test') }
138
+ it { is_expected.to_not run_ruby_block('inner') }
139
+ end # /context with step_into:false
140
+ end # /describe #resource
141
+
142
+ describe '#provider' do
143
+ subject { provider(:halite_test) }
144
+
145
+ context 'with defaults' do
146
+ provider(:halite_test)
147
+ it { is_expected.to be_a(Class) }
148
+ it { is_expected.to be < Chef::Provider }
149
+ its(:instance_methods) { are_expected.to include(:action_run) }
150
+ end # /context with defaults
151
+ end # /describe #provider
152
+
153
+ describe '#step_into' do
154
+ context 'with a simple HWRP' do
155
+ recipe do
156
+ halite_test_simple 'test'
157
+ end
158
+
159
+ context 'with step_into' do
160
+ step_into(:halite_test_simple)
161
+ it { is_expected.to run_halite_test_simple('test') }
162
+ it { is_expected.to run_ruby_block('test') }
163
+ it { expect(chef_run.halite_test_simple('test')).to be_a(Chef::Resource) }
164
+ end # /context with step_into
165
+
166
+ context 'without step_into' do
167
+ # Can't use the nice matcher because step_into is what would create that.
168
+ it { is_expected.to ChefSpec::Matchers::ResourceMatcher.new('halite_test_simple', 'run', 'test') }
169
+ it { is_expected.to_not run_ruby_block('test') }
170
+ end # /context without step_into
171
+ end # /context with a simple HWRP
172
+
173
+ context 'with a Poise resource' do
174
+ recipe do
175
+ halite_test_poise 'test'
176
+ end
177
+
178
+ context 'with step_into' do
179
+ step_into(:halite_test_poise)
180
+ it { is_expected.to run_halite_test_poise('test') }
181
+ it { is_expected.to run_ruby_block('test') }
182
+ it { expect(chef_run.halite_test_poise('test')).to be_a(Chef::Resource) }
183
+ end # /context with step_into
184
+
185
+ context 'without step_into' do
186
+ it { is_expected.to run_halite_test_poise('test') }
187
+ it { is_expected.to_not run_ruby_block('test') }
188
+ it { expect(chef_run.halite_test_poise('test')).to be_a(Chef::Resource) }
189
+ end # /context without step_into
190
+ end # /context with a Poise resource
191
+
192
+ describe 'without step-into there should be no ChefSpec resource-level matcher' do
193
+ provider(:halite_test_help)
194
+
195
+ context 'helper-created resource' do
196
+ resource(:halite_test_helper, step_into:false)
197
+ recipe do
198
+ halite_test_helper 'test'
199
+ end
200
+ it { expect { chef_run.halite_test_helper('test' ) }.to raise_error NoMethodError }
201
+ end # /context helper-created resource
202
+
203
+ context 'helper-created resource with Poise' do
204
+ resource(:halite_test_helper_poise, step_into:false) do
205
+ include Poise
206
+ provides(:halite_test_helper_poise)
207
+ end
208
+ recipe do
209
+ halite_test_helper_poise 'test'
210
+ end
211
+ it { expect(chef_run.halite_test_helper_poise('test' )).to be_a(Chef::Resource) }
212
+ end # /context helper-created resource with Poise
213
+ end # describe without step-into there should be no ChefSpec resource-level matcher
214
+ end # /describe #step_into
215
+
216
+ describe '#patch_descendants_tracker' do
217
+ resource(:halite_test)
218
+ subject { resource(:halite_test).new('test', chef_run.run_context).provider_for_action(:run) }
219
+
220
+ context 'with a provider in scope' do
221
+ provider(:halite_test)
222
+ # Basically it just shouldn't raise an error.
223
+ it { is_expected.to be_truthy }
224
+ end # /context with a provider in scope
225
+
226
+ context 'with a named provider in scope' do
227
+ provider(:halite_test_other) do
228
+ provides(:halite_test)
229
+ end
230
+ # Basically it just shouldn't raise an error.
231
+ it { is_expected.to be_truthy }
232
+ end # /context with a named provider in scope
233
+
234
+ context 'without a provider in scope' do
235
+ it { expect { subject }.to raise_error ArgumentError }
236
+ end # /context without a provider in scope
237
+ end # /describe #patch_descendants_tracker
238
+ end
metadata CHANGED
@@ -1,45 +1,51 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: halite
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Noah Kantrowitz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-24 00:00:00.000000000 Z
11
+ date: 2015-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: stove
14
+ name: chef
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 3.2.3
19
+ version: '12.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 3.2.3
26
+ version: '12.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: bundler
28
+ name: stove
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.2'
31
34
  - - ">="
32
35
  - !ruby/object:Gem::Version
33
- version: '0'
36
+ version: 3.2.3
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '3.2'
38
44
  - - ">="
39
45
  - !ruby/object:Gem::Version
40
- version: '0'
46
+ version: 3.2.3
41
47
  - !ruby/object:Gem::Dependency
42
- name: thor
48
+ name: bundler
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
51
  - - ">="
@@ -53,69 +59,13 @@ dependencies:
53
59
  - !ruby/object:Gem::Version
54
60
  version: '0'
55
61
  - !ruby/object:Gem::Dependency
56
- name: rake
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: 10.4.2
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 10.4.2
69
- - !ruby/object:Gem::Dependency
70
- name: rspec
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: 3.1.0
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: 3.1.0
83
- - !ruby/object:Gem::Dependency
84
- name: rspec-its
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: 1.1.0
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: 1.1.0
97
- - !ruby/object:Gem::Dependency
98
- name: fuubar
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: 2.0.0
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: 2.0.0
111
- - !ruby/object:Gem::Dependency
112
- name: pry
62
+ name: thor
113
63
  requirement: !ruby/object:Gem::Requirement
114
64
  requirements:
115
65
  - - ">="
116
66
  - !ruby/object:Gem::Version
117
67
  version: '0'
118
- type: :development
68
+ type: :runtime
119
69
  prerelease: false
120
70
  version_requirements: !ruby/object:Gem::Requirement
121
71
  requirements:
@@ -123,47 +73,47 @@ dependencies:
123
73
  - !ruby/object:Gem::Version
124
74
  version: '0'
125
75
  - !ruby/object:Gem::Dependency
126
- name: simplecov
76
+ name: poise
127
77
  requirement: !ruby/object:Gem::Requirement
128
78
  requirements:
129
79
  - - "~>"
130
80
  - !ruby/object:Gem::Version
131
- version: 0.9.1
81
+ version: '2.0'
132
82
  type: :development
133
83
  prerelease: false
134
84
  version_requirements: !ruby/object:Gem::Requirement
135
85
  requirements:
136
86
  - - "~>"
137
87
  - !ruby/object:Gem::Version
138
- version: 0.9.1
88
+ version: '2.0'
139
89
  - !ruby/object:Gem::Dependency
140
- name: mixlib-shellout
90
+ name: poise-boiler
141
91
  requirement: !ruby/object:Gem::Requirement
142
92
  requirements:
143
93
  - - "~>"
144
94
  - !ruby/object:Gem::Version
145
- version: 2.0.0
95
+ version: '1.0'
146
96
  type: :development
147
97
  prerelease: false
148
98
  version_requirements: !ruby/object:Gem::Requirement
149
99
  requirements:
150
100
  - - "~>"
151
101
  - !ruby/object:Gem::Version
152
- version: 2.0.0
102
+ version: '1.0'
153
103
  - !ruby/object:Gem::Dependency
154
- name: chef
104
+ name: rspec-command
155
105
  requirement: !ruby/object:Gem::Requirement
156
106
  requirements:
157
107
  - - "~>"
158
108
  - !ruby/object:Gem::Version
159
- version: 12.0.0
109
+ version: '1.0'
160
110
  type: :development
161
111
  prerelease: false
162
112
  version_requirements: !ruby/object:Gem::Requirement
163
113
  requirements:
164
114
  - - "~>"
165
115
  - !ruby/object:Gem::Version
166
- version: 12.0.0
116
+ version: '1.0'
167
117
  description: A set of helpers to write Chef cookbooks as Ruby gems.
168
118
  email:
169
119
  - noah@coderanger.net
@@ -172,72 +122,87 @@ extensions: []
172
122
  extra_rdoc_files: []
173
123
  files:
174
124
  - ".gitignore"
125
+ - ".rubocop.yml"
175
126
  - ".travis.yml"
127
+ - ".yardopts"
128
+ - CHANGELOG.md
176
129
  - Gemfile
177
130
  - LICENSE
178
131
  - README.md
179
132
  - Rakefile
133
+ - gemfiles/default.gemfile
134
+ - gemfiles/master.gemfile
180
135
  - halite.gemspec
181
136
  - lib/berkshelf/halite.rb
137
+ - lib/berkshelf/locations/gem.rb
182
138
  - lib/halite.rb
183
139
  - lib/halite/berkshelf/helper.rb
184
140
  - lib/halite/berkshelf/source.rb
185
141
  - lib/halite/converter.rb
142
+ - lib/halite/converter/chef.rb
186
143
  - lib/halite/converter/libraries.rb
187
144
  - lib/halite/converter/metadata.rb
188
- - lib/halite/converter/other.rb
189
- - lib/halite/converter/readme.rb
145
+ - lib/halite/converter/misc.rb
190
146
  - lib/halite/dependencies.rb
191
147
  - lib/halite/error.rb
192
148
  - lib/halite/gem.rb
149
+ - lib/halite/helper_base.rb
193
150
  - lib/halite/rake_helper.rb
194
151
  - lib/halite/rake_tasks.rb
195
152
  - lib/halite/spec_helper.rb
196
153
  - lib/halite/spec_helper/empty/README.md
154
+ - lib/halite/spec_helper/patcher.rb
197
155
  - lib/halite/spec_helper/runner.rb
198
156
  - lib/halite/version.rb
157
+ - spec/converter/chef_spec.rb
199
158
  - spec/converter/libraries_spec.rb
200
159
  - spec/converter/metadata_spec.rb
201
- - spec/converter/other_spec.rb
202
- - spec/converter/readme_spec.rb
160
+ - spec/converter/misc_spec.rb
203
161
  - spec/converter_spec.rb
204
- - spec/data/gems/test1/Rakefile
205
- - spec/data/gems/test1/lib/test1.rb
206
- - spec/data/gems/test1/lib/test1/version.rb
207
- - spec/data/gems/test1/test1.gemspec
208
- - spec/data/gems/test2/Rakefile
209
- - spec/data/gems/test2/chef/attributes.rb
210
- - spec/data/gems/test2/chef/recipes/default.rb
211
- - spec/data/gems/test2/chef/templates/default/conf.erb
212
- - spec/data/gems/test2/lib/test2.rb
213
- - spec/data/gems/test2/lib/test2/resource.rb
214
- - spec/data/gems/test2/lib/test2/version.rb
215
- - spec/data/gems/test2/test2.gemspec
216
- - spec/data/gems/test3/Rakefile
217
- - spec/data/gems/test3/chef/recipes/default.rb
218
- - spec/data/gems/test3/lib/test3.rb
219
- - spec/data/gems/test3/lib/test3/dsl.rb
220
- - spec/data/gems/test3/lib/test3/version.rb
221
- - spec/data/gems/test3/test3.gemspec
222
- - spec/data/integration_cookbooks/test1/libraries/test1.rb
223
- - spec/data/integration_cookbooks/test1/libraries/test1__version.rb
224
- - spec/data/integration_cookbooks/test1/metadata.rb
225
- - spec/data/integration_cookbooks/test2/attributes.rb
226
- - spec/data/integration_cookbooks/test2/libraries/test2.rb
227
- - spec/data/integration_cookbooks/test2/libraries/test2__resource.rb
228
- - spec/data/integration_cookbooks/test2/libraries/test2__version.rb
229
- - spec/data/integration_cookbooks/test2/metadata.rb
230
- - spec/data/integration_cookbooks/test2/recipes/default.rb
231
- - spec/data/integration_cookbooks/test2/templates/default/conf.erb
232
- - spec/data/integration_cookbooks/test3/libraries/test3.rb
233
- - spec/data/integration_cookbooks/test3/libraries/test3__dsl.rb
234
- - spec/data/integration_cookbooks/test3/libraries/test3__version.rb
235
- - spec/data/integration_cookbooks/test3/metadata.rb
236
- - spec/data/integration_cookbooks/test3/recipes/default.rb
237
162
  - spec/dependencies_spec.rb
163
+ - spec/example_resources/poise.rb
164
+ - spec/example_resources/simple.rb
165
+ - spec/fixtures/cookbooks/test1/files/halite_gem/test1.rb
166
+ - spec/fixtures/cookbooks/test1/files/halite_gem/test1/version.rb
167
+ - spec/fixtures/cookbooks/test1/libraries/default.rb
168
+ - spec/fixtures/cookbooks/test1/metadata.rb
169
+ - spec/fixtures/cookbooks/test2/attributes.rb
170
+ - spec/fixtures/cookbooks/test2/files/halite_gem/test2.rb
171
+ - spec/fixtures/cookbooks/test2/files/halite_gem/test2/resource.rb
172
+ - spec/fixtures/cookbooks/test2/files/halite_gem/test2/version.rb
173
+ - spec/fixtures/cookbooks/test2/libraries/default.rb
174
+ - spec/fixtures/cookbooks/test2/metadata.rb
175
+ - spec/fixtures/cookbooks/test2/recipes/default.rb
176
+ - spec/fixtures/cookbooks/test2/templates/default/conf.erb
177
+ - spec/fixtures/cookbooks/test3/files/halite_gem/test3.rb
178
+ - spec/fixtures/cookbooks/test3/files/halite_gem/test3/dsl.rb
179
+ - spec/fixtures/cookbooks/test3/files/halite_gem/test3/version.rb
180
+ - spec/fixtures/cookbooks/test3/libraries/default.rb
181
+ - spec/fixtures/cookbooks/test3/metadata.rb
182
+ - spec/fixtures/cookbooks/test3/recipes/default.rb
183
+ - spec/fixtures/gems/test1/Rakefile
184
+ - spec/fixtures/gems/test1/lib/test1.rb
185
+ - spec/fixtures/gems/test1/lib/test1/version.rb
186
+ - spec/fixtures/gems/test1/test1.gemspec
187
+ - spec/fixtures/gems/test2/Rakefile
188
+ - spec/fixtures/gems/test2/chef/attributes.rb
189
+ - spec/fixtures/gems/test2/chef/recipes/default.rb
190
+ - spec/fixtures/gems/test2/chef/templates/default/conf.erb
191
+ - spec/fixtures/gems/test2/lib/test2.rb
192
+ - spec/fixtures/gems/test2/lib/test2/resource.rb
193
+ - spec/fixtures/gems/test2/lib/test2/version.rb
194
+ - spec/fixtures/gems/test2/test2.gemspec
195
+ - spec/fixtures/gems/test3/Rakefile
196
+ - spec/fixtures/gems/test3/chef/recipes/default.rb
197
+ - spec/fixtures/gems/test3/lib/test3.rb
198
+ - spec/fixtures/gems/test3/lib/test3/dsl.rb
199
+ - spec/fixtures/gems/test3/lib/test3/version.rb
200
+ - spec/fixtures/gems/test3/test3.gemspec
238
201
  - spec/gem_spec.rb
239
202
  - spec/integration_spec.rb
203
+ - spec/runner_spec.rb
240
204
  - spec/spec_helper.rb
205
+ - spec/spec_helper_spec.rb
241
206
  homepage: https://github.com/coderanger/halite
242
207
  licenses:
243
208
  - Apache 2.0
@@ -253,55 +218,63 @@ required_ruby_version: !ruby/object:Gem::Requirement
253
218
  version: '0'
254
219
  required_rubygems_version: !ruby/object:Gem::Requirement
255
220
  requirements:
256
- - - ">"
221
+ - - ">="
257
222
  - !ruby/object:Gem::Version
258
- version: 1.3.1
223
+ version: '0'
259
224
  requirements: []
260
225
  rubyforge_project:
261
- rubygems_version: 2.2.2
226
+ rubygems_version: 2.4.5
262
227
  signing_key:
263
228
  specification_version: 4
264
229
  summary: A set of helpers to write Chef cookbooks as Ruby gems.
265
230
  test_files:
231
+ - spec/converter/chef_spec.rb
266
232
  - spec/converter/libraries_spec.rb
267
233
  - spec/converter/metadata_spec.rb
268
- - spec/converter/other_spec.rb
269
- - spec/converter/readme_spec.rb
234
+ - spec/converter/misc_spec.rb
270
235
  - spec/converter_spec.rb
271
- - spec/data/gems/test1/Rakefile
272
- - spec/data/gems/test1/lib/test1.rb
273
- - spec/data/gems/test1/lib/test1/version.rb
274
- - spec/data/gems/test1/test1.gemspec
275
- - spec/data/gems/test2/Rakefile
276
- - spec/data/gems/test2/chef/attributes.rb
277
- - spec/data/gems/test2/chef/recipes/default.rb
278
- - spec/data/gems/test2/chef/templates/default/conf.erb
279
- - spec/data/gems/test2/lib/test2.rb
280
- - spec/data/gems/test2/lib/test2/resource.rb
281
- - spec/data/gems/test2/lib/test2/version.rb
282
- - spec/data/gems/test2/test2.gemspec
283
- - spec/data/gems/test3/Rakefile
284
- - spec/data/gems/test3/chef/recipes/default.rb
285
- - spec/data/gems/test3/lib/test3.rb
286
- - spec/data/gems/test3/lib/test3/dsl.rb
287
- - spec/data/gems/test3/lib/test3/version.rb
288
- - spec/data/gems/test3/test3.gemspec
289
- - spec/data/integration_cookbooks/test1/libraries/test1.rb
290
- - spec/data/integration_cookbooks/test1/libraries/test1__version.rb
291
- - spec/data/integration_cookbooks/test1/metadata.rb
292
- - spec/data/integration_cookbooks/test2/attributes.rb
293
- - spec/data/integration_cookbooks/test2/libraries/test2.rb
294
- - spec/data/integration_cookbooks/test2/libraries/test2__resource.rb
295
- - spec/data/integration_cookbooks/test2/libraries/test2__version.rb
296
- - spec/data/integration_cookbooks/test2/metadata.rb
297
- - spec/data/integration_cookbooks/test2/recipes/default.rb
298
- - spec/data/integration_cookbooks/test2/templates/default/conf.erb
299
- - spec/data/integration_cookbooks/test3/libraries/test3.rb
300
- - spec/data/integration_cookbooks/test3/libraries/test3__dsl.rb
301
- - spec/data/integration_cookbooks/test3/libraries/test3__version.rb
302
- - spec/data/integration_cookbooks/test3/metadata.rb
303
- - spec/data/integration_cookbooks/test3/recipes/default.rb
304
236
  - spec/dependencies_spec.rb
237
+ - spec/example_resources/poise.rb
238
+ - spec/example_resources/simple.rb
239
+ - spec/fixtures/cookbooks/test1/files/halite_gem/test1.rb
240
+ - spec/fixtures/cookbooks/test1/files/halite_gem/test1/version.rb
241
+ - spec/fixtures/cookbooks/test1/libraries/default.rb
242
+ - spec/fixtures/cookbooks/test1/metadata.rb
243
+ - spec/fixtures/cookbooks/test2/attributes.rb
244
+ - spec/fixtures/cookbooks/test2/files/halite_gem/test2.rb
245
+ - spec/fixtures/cookbooks/test2/files/halite_gem/test2/resource.rb
246
+ - spec/fixtures/cookbooks/test2/files/halite_gem/test2/version.rb
247
+ - spec/fixtures/cookbooks/test2/libraries/default.rb
248
+ - spec/fixtures/cookbooks/test2/metadata.rb
249
+ - spec/fixtures/cookbooks/test2/recipes/default.rb
250
+ - spec/fixtures/cookbooks/test2/templates/default/conf.erb
251
+ - spec/fixtures/cookbooks/test3/files/halite_gem/test3.rb
252
+ - spec/fixtures/cookbooks/test3/files/halite_gem/test3/dsl.rb
253
+ - spec/fixtures/cookbooks/test3/files/halite_gem/test3/version.rb
254
+ - spec/fixtures/cookbooks/test3/libraries/default.rb
255
+ - spec/fixtures/cookbooks/test3/metadata.rb
256
+ - spec/fixtures/cookbooks/test3/recipes/default.rb
257
+ - spec/fixtures/gems/test1/Rakefile
258
+ - spec/fixtures/gems/test1/lib/test1.rb
259
+ - spec/fixtures/gems/test1/lib/test1/version.rb
260
+ - spec/fixtures/gems/test1/test1.gemspec
261
+ - spec/fixtures/gems/test2/Rakefile
262
+ - spec/fixtures/gems/test2/chef/attributes.rb
263
+ - spec/fixtures/gems/test2/chef/recipes/default.rb
264
+ - spec/fixtures/gems/test2/chef/templates/default/conf.erb
265
+ - spec/fixtures/gems/test2/lib/test2.rb
266
+ - spec/fixtures/gems/test2/lib/test2/resource.rb
267
+ - spec/fixtures/gems/test2/lib/test2/version.rb
268
+ - spec/fixtures/gems/test2/test2.gemspec
269
+ - spec/fixtures/gems/test3/Rakefile
270
+ - spec/fixtures/gems/test3/chef/recipes/default.rb
271
+ - spec/fixtures/gems/test3/lib/test3.rb
272
+ - spec/fixtures/gems/test3/lib/test3/dsl.rb
273
+ - spec/fixtures/gems/test3/lib/test3/version.rb
274
+ - spec/fixtures/gems/test3/test3.gemspec
305
275
  - spec/gem_spec.rb
306
276
  - spec/integration_spec.rb
277
+ - spec/runner_spec.rb
307
278
  - spec/spec_helper.rb
279
+ - spec/spec_helper_spec.rb
280
+ has_rdoc: