ore 0.10.0 → 0.11.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.
- checksums.yaml +7 -0
- data/.gitignore +4 -5
- data/.gitmodules +54 -0
- data/ChangeLog.md +90 -21
- data/Gemfile +12 -0
- data/LICENSE.txt +1 -1
- data/README.md +61 -27
- data/Rakefile +23 -24
- data/data/ore/abbreviations.txt +47 -0
- data/data/ore/common_namespaces.yml +13 -0
- data/data/ore/templates/apache/LICENSE.txt +202 -0
- data/data/ore/templates/apache/NOTICE.txt.erb +5 -0
- data/data/ore/templates/apache/lib/[namespace_path]/_copyright.erb +18 -0
- data/data/ore/templates/apache/template.yml +3 -0
- data/data/ore/templates/bsd/LICENSE.txt.erb +23 -0
- data/data/ore/templates/bsd/template.yml +6 -0
- data/data/ore/templates/bundler/Gemfile.erb +1 -1
- data/data/ore/templates/bundler/_tasks.erb +3 -0
- data/data/ore/templates/bundler/template.yml +5 -4
- data/data/ore/templates/code_climate/_badges.erb +1 -0
- data/data/ore/templates/code_climate/template.yml +2 -0
- data/data/ore/templates/{base → gem}/ChangeLog.md.erb +0 -0
- data/data/ore/templates/{base → gem}/ChangeLog.rdoc.erb +0 -0
- data/data/ore/templates/{base → gem}/ChangeLog.tt.erb +0 -0
- data/data/ore/templates/{base → gem}/README.md.erb +10 -4
- data/data/ore/templates/{base → gem}/README.rdoc.erb +12 -2
- data/data/ore/templates/{base → gem}/README.tt.erb +10 -4
- data/data/ore/templates/gem/Rakefile.erb +15 -0
- data/data/ore/templates/{gemspec → gem}/[name].gemspec.erb +21 -1
- data/data/ore/templates/{base → gem}/lib/[namespace_path].rb.erb +0 -0
- data/data/ore/templates/{base → gem}/lib/[namespace_path]/version.rb.erb +4 -0
- data/data/ore/templates/gem/template.yml +5 -0
- data/data/ore/templates/gem_package_task/template.yml +3 -0
- data/data/ore/templates/gemspec_yml/[name].gemspec.erb +1 -1
- data/data/ore/templates/gpl/COPYING.txt +674 -0
- data/data/ore/templates/gpl/lib/[namespace_path]/_copyright.erb +20 -0
- data/data/ore/templates/gpl/template.yml +7 -0
- data/data/ore/templates/lgpl/COPYING.txt +165 -0
- data/data/ore/templates/lgpl/lib/[namespace_path]/_copyright.erb +20 -0
- data/data/ore/templates/lgpl/template.yml +6 -0
- data/data/ore/templates/minitest/_tasks.erb +7 -0
- data/data/ore/templates/minitest/template.yml +6 -0
- data/data/ore/templates/minitest/test/helper.rb.erb +11 -0
- data/data/ore/templates/{mini_test → minitest}/test/test_[name].rb.erb +1 -1
- data/data/ore/templates/{base → mit}/LICENSE.txt.erb +0 -0
- data/data/ore/templates/mit/template.yml +8 -0
- data/data/ore/templates/rdoc/.document.erb +6 -0
- data/data/ore/templates/rdoc/.rdoc_options.erb +16 -0
- data/data/ore/templates/rdoc/_tasks.erb +5 -9
- data/data/ore/templates/rdoc/template.yml +2 -5
- data/data/ore/templates/rspec/_tasks.erb +1 -2
- data/data/ore/templates/rspec/spec/[namespace_dir]_spec.rb.erb +1 -1
- data/data/ore/templates/rspec/spec/spec_helper.rb.erb +0 -3
- data/data/ore/templates/rspec/template.yml +2 -2
- data/data/ore/templates/rubygems_tasks/_tasks.erb +0 -1
- data/data/ore/templates/rubygems_tasks/template.yml +3 -0
- data/data/ore/templates/test_unit/template.yml +1 -1
- data/data/ore/templates/test_unit/test/helper.rb.erb +3 -13
- data/data/ore/templates/travis/.travis.yml +6 -0
- data/data/ore/templates/travis/_badges.erb +1 -0
- data/data/ore/templates/yard/.document.erb +3 -1
- data/data/ore/templates/yard/_tasks.erb +2 -3
- data/data/ore/templates/yard/template.yml +2 -1
- data/gemspec.yml +6 -7
- data/lib/ore/actions.rb +1 -1
- data/lib/ore/cli.rb +1 -0
- data/lib/ore/config.rb +33 -41
- data/lib/ore/generator.rb +104 -66
- data/lib/ore/naming.rb +12 -19
- data/lib/ore/options.rb +71 -40
- data/lib/ore/template/directory.rb +3 -9
- data/lib/ore/template/helpers.rb +26 -2
- data/lib/ore/template/helpers/markdown.rb +96 -0
- data/lib/ore/template/helpers/rdoc.rb +96 -0
- data/lib/ore/template/helpers/textile.rb +106 -0
- data/lib/ore/template/markup.rb +19 -0
- data/lib/ore/version.rb +1 -1
- data/ore.gemspec +11 -0
- data/spec/gemspec_examples.rb +8 -8
- data/spec/generator_spec.rb +231 -181
- data/spec/helpers/generator.rb +5 -1
- data/spec/naming_spec.rb +11 -11
- data/spec/spec_helper.rb +0 -1
- data/spec/template/helpers/markdown_spec.rb +84 -0
- data/spec/template/helpers/rdoc_spec.rb +84 -0
- data/spec/template/helpers/textile_spec.rb +92 -0
- metadata +84 -85
- data/.gemtest +0 -0
- data/data/ore/templates/base/Rakefile.erb +0 -25
- data/data/ore/templates/base/template.yml +0 -2
- data/data/ore/templates/bundler_tasks/_tasks.erb +0 -1
- data/data/ore/templates/bundler_tasks/template.yml +0 -6
- data/data/ore/templates/gemspec/template.yml +0 -2
- data/data/ore/templates/gemspec_yml/template.yml +0 -2
- data/data/ore/templates/mini_test/template.yml +0 -3
- data/data/ore/templates/mini_test/test/helper.rb.erb +0 -26
- data/data/ore/templates/rdoc/.document +0 -4
@@ -0,0 +1,19 @@
|
|
1
|
+
module Ore
|
2
|
+
module Template
|
3
|
+
module Markup
|
4
|
+
# Official file extensions for various markups
|
5
|
+
EXT = {
|
6
|
+
markdown: 'md',
|
7
|
+
textile: 'tt',
|
8
|
+
rdoc: 'rdoc'
|
9
|
+
}
|
10
|
+
|
11
|
+
# Other common file extensions for various markups
|
12
|
+
EXTS = {
|
13
|
+
markdown: %w[.md .markdown],
|
14
|
+
textile: %w[.tt .textile],
|
15
|
+
rdoc: %w[.rdoc]
|
16
|
+
}
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/ore/version.rb
CHANGED
data/ore.gemspec
CHANGED
@@ -24,6 +24,17 @@ Gem::Specification.new do |gem|
|
|
24
24
|
glob = lambda { |patterns| gem.files & Dir[*patterns] }
|
25
25
|
|
26
26
|
gem.files = `git ls-files`.split($/)
|
27
|
+
|
28
|
+
`git submodule --quiet foreach --recursive pwd`.split($/).each do |submodule|
|
29
|
+
submodule.sub!("#{Dir.pwd}/",'')
|
30
|
+
|
31
|
+
Dir.chdir(submodule) do
|
32
|
+
`git ls-files`.split($/).map do |subpath|
|
33
|
+
gem.files << File.join(submodule,subpath)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
27
38
|
gem.files = glob[gemspec['files']] if gemspec['files']
|
28
39
|
|
29
40
|
gem.executables = gemspec.fetch('executables') do
|
data/spec/gemspec_examples.rb
CHANGED
@@ -1,33 +1,33 @@
|
|
1
1
|
require 'rspec'
|
2
2
|
|
3
|
-
require 'ore/
|
3
|
+
require 'ore/generator'
|
4
4
|
|
5
5
|
shared_examples "a gemspec" do
|
6
6
|
it "should have a name" do
|
7
|
-
subject.name.
|
7
|
+
expect(subject.name).to eq(@name)
|
8
8
|
end
|
9
9
|
|
10
10
|
it "should not contain a version by default" do
|
11
|
-
subject.version.version.
|
11
|
+
expect(subject.version.version).to eq(Ore::Options::DEFAULT_VERSION)
|
12
12
|
end
|
13
13
|
|
14
14
|
it "should a dummy summary" do
|
15
|
-
subject.summary.
|
15
|
+
expect(subject.summary).to eq(Ore::Options::DEFAULT_SUMMARY)
|
16
16
|
end
|
17
17
|
|
18
18
|
it "should a dummy description" do
|
19
|
-
subject.description.
|
19
|
+
expect(subject.description).to eq(Ore::Options::DEFAULT_DESCRIPTION)
|
20
20
|
end
|
21
21
|
|
22
22
|
it "should have a license" do
|
23
|
-
subject.license.
|
23
|
+
expect(subject.license).to be == 'MIT'
|
24
24
|
end
|
25
25
|
|
26
26
|
it "should have authors" do
|
27
|
-
subject.authors.
|
27
|
+
expect(subject.authors).not_to be_empty
|
28
28
|
end
|
29
29
|
|
30
30
|
it "should have a dummy homepage" do
|
31
|
-
subject.homepage.
|
31
|
+
expect(subject.homepage).not_to be_empty
|
32
32
|
end
|
33
33
|
end
|
data/spec/generator_spec.rb
CHANGED
@@ -7,114 +7,135 @@ describe Generator do
|
|
7
7
|
include Helpers::Generator
|
8
8
|
|
9
9
|
context "default" do
|
10
|
-
let(:name) { 'my-project' }
|
11
|
-
|
12
10
|
before(:all) do
|
13
|
-
|
11
|
+
@name = 'my-project'
|
12
|
+
|
13
|
+
generate!(@name)
|
14
14
|
end
|
15
15
|
|
16
16
|
it "should create the project root directory" do
|
17
|
-
@path.
|
17
|
+
expect(@path).to be_directory
|
18
18
|
end
|
19
19
|
|
20
20
|
it "should create the lib/ directory" do
|
21
|
-
@path.
|
21
|
+
expect(@path).to have_directory('lib')
|
22
22
|
end
|
23
23
|
|
24
24
|
it "should create a file to load the project within lib/" do
|
25
|
-
@path.
|
25
|
+
expect(@path).to have_file('lib','my','project.rb')
|
26
26
|
end
|
27
27
|
|
28
28
|
it "should create a namespace directory within lib/" do
|
29
|
-
@path.
|
29
|
+
expect(@path).to have_directory('lib','my','project')
|
30
30
|
end
|
31
31
|
|
32
32
|
it "should create a version.rb file within the namespace directory" do
|
33
|
-
@path.
|
33
|
+
expect(@path).to have_file('lib','my','project','version.rb')
|
34
34
|
end
|
35
35
|
|
36
36
|
it "should not create the bin/ directory by default" do
|
37
|
-
@path.
|
37
|
+
expect(@path).not_to have_directory('bin')
|
38
38
|
end
|
39
39
|
|
40
40
|
it "should create a test/ directory by default" do
|
41
|
-
@path.
|
41
|
+
expect(@path).not_to have_directory('test')
|
42
42
|
end
|
43
43
|
|
44
44
|
it "should add a *.gemspec file" do
|
45
|
-
@path.join("#{name}.gemspec").
|
45
|
+
expect(@path.join("#{@name}.gemspec")).to be_file
|
46
46
|
end
|
47
47
|
|
48
48
|
it "should add a .document file" do
|
49
|
-
@path.
|
49
|
+
expect(@path).to have_file('.document')
|
50
50
|
end
|
51
51
|
|
52
52
|
it "should add a Rakefile" do
|
53
|
-
@path.
|
53
|
+
expect(@path).to have_file('Rakefile')
|
54
54
|
end
|
55
55
|
|
56
|
-
it "should add a README.
|
57
|
-
@path.
|
56
|
+
it "should add a README.md file" do
|
57
|
+
expect(@path).to have_file('README.md')
|
58
58
|
end
|
59
59
|
|
60
|
-
it "should add a ChangeLog.
|
61
|
-
@path.
|
60
|
+
it "should add a ChangeLog.md file" do
|
61
|
+
expect(@path).to have_file('ChangeLog.md')
|
62
62
|
end
|
63
63
|
|
64
64
|
it "should add a LICENSE.txt file" do
|
65
|
-
@path.
|
65
|
+
expect(@path).to have_file('LICENSE.txt')
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should add a Gemfile" do
|
69
|
+
expect(@path).to have_file('Gemfile')
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should add 'bundler' as a development dependency" do
|
73
|
+
expect(@gemspec).to have_development_dependency('bundler')
|
74
|
+
end
|
75
|
+
|
76
|
+
it "should not have any dependencies in the Gemfile" do
|
77
|
+
gemfile = (@path + 'Gemfile').read
|
78
|
+
expect(gemfile).to eq(<<-GEMFILE)
|
79
|
+
source 'https://rubygems.org'
|
80
|
+
|
81
|
+
gemspec
|
82
|
+
GEMFILE
|
83
|
+
end
|
84
|
+
|
85
|
+
it "should add 'Gemfile.lock' to the .gitignore file" do
|
86
|
+
expect(gitignore).to include('/Gemfile.lock')
|
66
87
|
end
|
67
88
|
end
|
68
89
|
|
69
90
|
context "gemspec_yml" do
|
70
|
-
let(:name) { 'gemspec_yml_project' }
|
71
|
-
|
72
91
|
before(:all) do
|
73
|
-
|
92
|
+
@name = 'gemspec_yml_project'
|
93
|
+
|
94
|
+
generate!(@name, gemspec_yml: true)
|
74
95
|
end
|
75
96
|
|
76
97
|
it "should add a gemspec.yml file" do
|
77
|
-
@path.
|
98
|
+
expect(@path).to have_file('gemspec.yml')
|
78
99
|
end
|
79
100
|
|
80
101
|
describe "gemspec.yml" do
|
81
102
|
subject { YAML.load_file(@path.join('gemspec.yml')) }
|
82
103
|
|
83
104
|
it "should have a name" do
|
84
|
-
subject['name'].
|
105
|
+
expect(subject['name']).to eq(@name)
|
85
106
|
end
|
86
107
|
|
87
108
|
it "should not contain a version by default" do
|
88
|
-
subject.
|
109
|
+
expect(subject).not_to have_key('version')
|
89
110
|
end
|
90
111
|
|
91
112
|
it "should a dummy summary" do
|
92
|
-
subject['summary'].
|
113
|
+
expect(subject['summary']).to eq(Ore::Options::DEFAULT_SUMMARY)
|
93
114
|
end
|
94
115
|
|
95
116
|
it "should a dummy description" do
|
96
|
-
subject['description'].
|
117
|
+
expect(subject['description']).to eq(Ore::Options::DEFAULT_DESCRIPTION)
|
97
118
|
end
|
98
119
|
|
99
120
|
it "should have a license" do
|
100
|
-
subject['license'].
|
121
|
+
expect(subject['license']).to be == 'MIT'
|
101
122
|
end
|
102
123
|
|
103
124
|
it "should have authors" do
|
104
|
-
subject['authors'].
|
125
|
+
expect(subject['authors']).not_to be_empty
|
105
126
|
end
|
106
127
|
|
107
128
|
it "should have a dummy homepage" do
|
108
|
-
subject['homepage'].
|
129
|
+
expect(subject['homepage']).not_to be_empty
|
109
130
|
end
|
110
131
|
|
111
132
|
it "should have 'rubygems-tasks' as a development dependency" do
|
112
|
-
subject['development_dependencies'].
|
133
|
+
expect(subject['development_dependencies']).to have_key('rubygems-tasks')
|
113
134
|
end
|
114
135
|
end
|
115
136
|
|
116
137
|
it "should add a *.gemspec file" do
|
117
|
-
@path.
|
138
|
+
expect(@path).to have_file("#{@name}.gemspec")
|
118
139
|
end
|
119
140
|
|
120
141
|
describe "*.gemspec file" do
|
@@ -125,18 +146,14 @@ describe Generator do
|
|
125
146
|
end
|
126
147
|
|
127
148
|
context "gemspec" do
|
128
|
-
let(:name) { 'gemspec_project' }
|
129
|
-
|
130
149
|
before(:all) do
|
131
|
-
|
132
|
-
end
|
150
|
+
@name = 'gemspec_project'
|
133
151
|
|
134
|
-
|
135
|
-
@generator.disabled_templates.should include(:gemspec_yml)
|
152
|
+
generate!(@name, gemspec: true)
|
136
153
|
end
|
137
154
|
|
138
155
|
it "should add a *.gemspec file" do
|
139
|
-
@path.
|
156
|
+
expect(@path).to have_file("#{@name}.gemspec")
|
140
157
|
end
|
141
158
|
|
142
159
|
context "*.gemspec file" do
|
@@ -145,414 +162,447 @@ describe Generator do
|
|
145
162
|
it_should_behave_like "a gemspec"
|
146
163
|
|
147
164
|
it "should have 'rubygems-tasks' as a development dependency" do
|
148
|
-
subject.
|
165
|
+
expect(subject).to have_development_dependency('rubygems-tasks')
|
149
166
|
end
|
150
167
|
end
|
151
168
|
end
|
152
169
|
|
153
170
|
context "git" do
|
154
|
-
let(:name) { 'git-project' }
|
155
|
-
|
156
171
|
before(:all) do
|
157
|
-
|
172
|
+
@name = 'git-project'
|
173
|
+
|
174
|
+
generate!(@name, git: true)
|
158
175
|
end
|
159
176
|
|
160
177
|
it "should create a .git directory" do
|
161
|
-
@path.
|
178
|
+
expect(@path).to have_directory('.git')
|
162
179
|
end
|
163
180
|
|
164
181
|
it "should create a .gitignore file" do
|
165
|
-
@path.
|
182
|
+
expect(@path).to have_file('.gitignore')
|
166
183
|
end
|
167
184
|
end
|
168
185
|
|
169
186
|
context "hg" do
|
170
|
-
let(:name) { 'hg-project' }
|
171
|
-
|
172
187
|
before(:all) do
|
173
|
-
|
188
|
+
@name = 'hg-project'
|
189
|
+
|
190
|
+
generate!(@name, hg: true)
|
174
191
|
end
|
175
192
|
|
176
193
|
it "should create a .hg directory" do
|
177
|
-
@path.
|
194
|
+
expect(@path).to have_directory('.hg')
|
178
195
|
end
|
179
196
|
|
180
197
|
it "should create a .hgignore file" do
|
181
|
-
@path.
|
198
|
+
expect(@path).to have_file('.hgignore')
|
182
199
|
end
|
183
200
|
end
|
184
201
|
|
185
202
|
context "bin" do
|
186
|
-
let(:name) { 'script-project' }
|
187
|
-
let(:script) { File.join('bin',name) }
|
188
|
-
|
189
203
|
before(:all) do
|
190
|
-
|
204
|
+
@name = 'script-project'
|
205
|
+
@script = File.join('bin',@name)
|
206
|
+
|
207
|
+
generate!(@name, bin: true)
|
191
208
|
end
|
192
209
|
|
193
210
|
it "should add a 'bin/' directory" do
|
194
|
-
@path.
|
211
|
+
expect(@path).to have_directory('bin')
|
195
212
|
end
|
196
213
|
|
197
214
|
it "should add a bin/script-project file" do
|
198
|
-
@path.
|
215
|
+
expect(@path).to have_file(@script)
|
199
216
|
end
|
200
217
|
|
201
218
|
it "should make the bin/script-project file executable" do
|
202
|
-
@path.
|
219
|
+
expect(@path).to have_executable(@script)
|
203
220
|
end
|
204
221
|
end
|
205
222
|
|
206
|
-
context "bundler" do
|
207
|
-
|
223
|
+
context "without bundler" do
|
224
|
+
before(:all) do
|
225
|
+
@name = 'bundled_project'
|
226
|
+
|
227
|
+
generate!(@name, bundler: false)
|
228
|
+
end
|
229
|
+
|
230
|
+
it "should not add a Gemfile" do
|
231
|
+
expect(@path).to_not have_file('Gemfile')
|
232
|
+
end
|
233
|
+
|
234
|
+
it "should not add 'bundler' as a development dependency" do
|
235
|
+
expect(@gemspec).to_not have_development_dependency('bundler')
|
236
|
+
end
|
237
|
+
|
238
|
+
it "should not add 'Gemfile.lock' to the .gitignore file" do
|
239
|
+
expect(gitignore).to_not include('/Gemfile.lock')
|
240
|
+
end
|
241
|
+
end
|
208
242
|
|
243
|
+
context "rdoc" do
|
209
244
|
before(:all) do
|
210
|
-
|
245
|
+
@name = 'rdoc-project'
|
246
|
+
|
247
|
+
generate!(@name, rdoc: true)
|
211
248
|
end
|
212
249
|
|
213
|
-
it "should
|
214
|
-
@
|
250
|
+
it "should disable the yard template" do
|
251
|
+
expect(@generator.disabled_templates).to include(:yard)
|
215
252
|
end
|
216
253
|
|
217
|
-
it "should add '
|
218
|
-
@gemspec.
|
254
|
+
it "should add 'rdoc' as a development dependency" do
|
255
|
+
expect(@gemspec).to have_development_dependency('rdoc')
|
219
256
|
end
|
220
257
|
|
221
|
-
it "should
|
222
|
-
|
223
|
-
|
224
|
-
source :rubygems
|
258
|
+
it "should default @markup to :markdown" do
|
259
|
+
expect(@generator.instance_variable_get('@markup')).to eq(:markdown)
|
260
|
+
end
|
225
261
|
|
226
|
-
|
227
|
-
|
262
|
+
it "should add 'html/' to the .gitignore file" do
|
263
|
+
expect(gitignore).to include('/html/')
|
228
264
|
end
|
229
265
|
|
230
|
-
it "should add '
|
231
|
-
|
266
|
+
it "should add a '.document' file" do
|
267
|
+
expect(@path).to have_file('.document')
|
232
268
|
end
|
233
|
-
end
|
234
269
|
|
235
|
-
|
236
|
-
|
270
|
+
context ".document" do
|
271
|
+
it "should include 'lib/**/*.rb'" do
|
272
|
+
expect(document).to include('lib/**/*.rb')
|
273
|
+
end
|
274
|
+
|
275
|
+
it "should include 'README.rdoc'" do
|
276
|
+
expect(document).to include('README.md')
|
277
|
+
end
|
237
278
|
|
279
|
+
it "should include 'ChangeLog.rdoc'" do
|
280
|
+
expect(document).to include('ChangeLog.md')
|
281
|
+
end
|
282
|
+
|
283
|
+
it "should include 'LICENSE.txt'" do
|
284
|
+
expect(document).to include('LICENSE.txt')
|
285
|
+
end
|
286
|
+
end
|
287
|
+
end
|
288
|
+
|
289
|
+
context "rdoc with rdoc markup" do
|
238
290
|
before(:all) do
|
239
|
-
|
291
|
+
@name = 'rdoc_rdoc-project'
|
292
|
+
|
293
|
+
generate!(@name, rdoc: true, markup: 'rdoc')
|
240
294
|
end
|
241
295
|
|
242
296
|
it "should disable the yard template" do
|
243
|
-
@generator.disabled_templates.
|
297
|
+
expect(@generator.disabled_templates).to include(:yard)
|
244
298
|
end
|
245
299
|
|
246
300
|
it "should add 'rdoc' as a development dependency" do
|
247
|
-
@gemspec.
|
301
|
+
expect(@gemspec).to have_development_dependency('rdoc')
|
248
302
|
end
|
249
303
|
|
250
304
|
it "should set @markup to :rdoc" do
|
251
|
-
@generator.instance_variable_get('@markup').
|
305
|
+
expect(@generator.instance_variable_get('@markup')).to eq(:rdoc)
|
252
306
|
end
|
253
307
|
|
254
308
|
it "should add 'html/' to the .gitignore file" do
|
255
|
-
gitignore.
|
309
|
+
expect(gitignore).to include('/html/')
|
256
310
|
end
|
257
311
|
|
258
312
|
it "should add a '.document' file" do
|
259
|
-
@path.
|
313
|
+
expect(@path).to have_file('.document')
|
260
314
|
end
|
261
315
|
|
262
316
|
context ".document" do
|
263
317
|
it "should include 'lib/**/*.rb'" do
|
264
|
-
document.
|
318
|
+
expect(document).to include('lib/**/*.rb')
|
265
319
|
end
|
266
320
|
|
267
|
-
it "should include 'README.
|
268
|
-
document.
|
321
|
+
it "should include 'README.md'" do
|
322
|
+
expect(document).to include('README.rdoc')
|
269
323
|
end
|
270
324
|
|
271
|
-
it "should include 'ChangeLog.
|
272
|
-
document.
|
325
|
+
it "should include 'ChangeLog.md'" do
|
326
|
+
expect(document).to include('ChangeLog.rdoc')
|
273
327
|
end
|
274
328
|
|
275
329
|
it "should include 'LICENSE.txt'" do
|
276
|
-
document.
|
330
|
+
expect(document).to include('LICENSE.txt')
|
277
331
|
end
|
278
332
|
end
|
279
333
|
end
|
280
334
|
|
281
335
|
context "yard" do
|
282
|
-
let(:name) { 'yard-project' }
|
283
|
-
|
284
336
|
before(:all) do
|
285
|
-
|
337
|
+
@name = 'yard-project'
|
338
|
+
|
339
|
+
generate!(@name, yard: true)
|
286
340
|
end
|
287
341
|
|
288
342
|
it "should disable the rdoc template" do
|
289
|
-
@generator.disabled_templates.
|
343
|
+
expect(@generator.disabled_templates).to include(:rdoc)
|
290
344
|
end
|
291
345
|
|
292
346
|
it "should add a .yardopts file" do
|
293
|
-
@path.
|
347
|
+
expect(@path).to have_file('.yardopts')
|
294
348
|
end
|
295
349
|
|
296
350
|
it "should add a '.document' file" do
|
297
|
-
@path.
|
351
|
+
expect(@path).to have_file('.document')
|
298
352
|
end
|
299
353
|
|
300
354
|
it "should add 'yard' as a development dependency" do
|
301
|
-
@gemspec.
|
355
|
+
expect(@gemspec).to have_development_dependency('yard')
|
302
356
|
end
|
303
357
|
|
304
358
|
context ".document" do
|
305
359
|
it "should not include 'lib/**/*.rb'" do
|
306
|
-
document.
|
360
|
+
expect(document).not_to include('lib/**/*.rb')
|
307
361
|
end
|
308
362
|
|
309
363
|
it "should include a '-' separator for non-code files" do
|
310
|
-
document.
|
364
|
+
expect(document).to include('-')
|
311
365
|
end
|
312
366
|
|
313
|
-
it "should not include 'README.
|
314
|
-
document.
|
367
|
+
it "should not include 'README.md'" do
|
368
|
+
expect(document).not_to include('README.md')
|
315
369
|
end
|
316
370
|
|
317
|
-
it "should include 'ChangeLog.
|
318
|
-
document.
|
371
|
+
it "should include 'ChangeLog.md'" do
|
372
|
+
expect(document).to include('ChangeLog.md')
|
319
373
|
end
|
320
374
|
|
321
375
|
it "should include 'LICENSE.txt'" do
|
322
|
-
document.
|
376
|
+
expect(document).to include('LICENSE.txt')
|
323
377
|
end
|
324
378
|
end
|
325
379
|
end
|
326
380
|
|
327
|
-
context "yard with
|
328
|
-
let(:name) { 'yard_markdown-project' }
|
329
|
-
|
381
|
+
context "yard with rdoc markup" do
|
330
382
|
before(:all) do
|
331
|
-
|
383
|
+
@name = 'yard_rdoc-project'
|
384
|
+
|
385
|
+
generate!(@name, yard: true, markup: 'rdoc')
|
332
386
|
end
|
333
387
|
|
334
|
-
it "should add a README.
|
335
|
-
@path.
|
388
|
+
it "should add a README.rdoc file" do
|
389
|
+
expect(@path).to have_file('README.rdoc')
|
336
390
|
end
|
337
391
|
|
338
|
-
it "should add a ChangeLog.
|
339
|
-
@path.
|
392
|
+
it "should add a ChangeLog.rdoc file" do
|
393
|
+
expect(@path).to have_file('ChangeLog.rdoc')
|
340
394
|
end
|
341
395
|
|
342
|
-
it "should set --markup to
|
343
|
-
yard_opts.
|
396
|
+
it "should set --markup to rdoc in .yardopts" do
|
397
|
+
expect(yard_opts).to include('--markup rdoc')
|
344
398
|
end
|
345
399
|
|
346
400
|
context ".document" do
|
347
|
-
it "should include 'ChangeLog.
|
348
|
-
document.
|
401
|
+
it "should include 'ChangeLog.rdoc'" do
|
402
|
+
expect(document).to include('ChangeLog.rdoc')
|
349
403
|
end
|
350
404
|
end
|
351
405
|
end
|
352
406
|
|
353
|
-
context "yard with textile" do
|
354
|
-
let(:name) { 'yard_textile-project' }
|
355
|
-
|
407
|
+
context "yard with textile markup" do
|
356
408
|
before(:all) do
|
357
|
-
|
409
|
+
@name = 'yard_textile-project'
|
410
|
+
|
411
|
+
generate!(@name, yard: true, markup: 'textile')
|
358
412
|
end
|
359
413
|
|
360
414
|
it "should add a README.tt file" do
|
361
|
-
@path.
|
415
|
+
expect(@path).to have_file('README.tt')
|
362
416
|
end
|
363
417
|
|
364
418
|
it "should add a ChangeLog.tt file" do
|
365
|
-
@path.
|
419
|
+
expect(@path).to have_file('ChangeLog.tt')
|
366
420
|
end
|
367
421
|
|
368
422
|
it "should set --markup to textile in .yardopts" do
|
369
|
-
yard_opts.
|
423
|
+
expect(yard_opts).to include('--markup textile')
|
370
424
|
end
|
371
425
|
|
372
426
|
context ".document" do
|
373
427
|
it "should include 'ChangeLog.tt'" do
|
374
|
-
document.
|
428
|
+
expect(document).to include('ChangeLog.tt')
|
375
429
|
end
|
376
430
|
end
|
377
431
|
end
|
378
432
|
|
379
433
|
context "yard with bundler" do
|
380
|
-
let(:name) { 'bundled_yard_project' }
|
381
|
-
|
382
434
|
before(:all) do
|
383
|
-
|
435
|
+
@name = 'bundled_yard_project'
|
436
|
+
|
437
|
+
generate!(@name, bundler: true, yard: true)
|
384
438
|
end
|
385
439
|
|
386
440
|
it "should still add 'yard' as a development dependency" do
|
387
|
-
@gemspec.
|
441
|
+
expect(@gemspec).to have_development_dependency('yard')
|
388
442
|
end
|
389
443
|
end
|
390
444
|
|
391
445
|
context "test_unit" do
|
392
|
-
let(:name) { 'test_unit_project' }
|
393
|
-
|
394
446
|
before(:all) do
|
395
|
-
|
447
|
+
@name = 'test_unit_project'
|
448
|
+
|
449
|
+
generate!(@name, test_unit: true)
|
396
450
|
end
|
397
451
|
|
398
|
-
it "should disable the
|
399
|
-
@generator.disabled_templates.
|
452
|
+
it "should disable the minitest template" do
|
453
|
+
expect(@generator.disabled_templates).to include(:minitest)
|
400
454
|
end
|
401
455
|
|
402
456
|
it "should disable the rspec template" do
|
403
|
-
@generator.disabled_templates.
|
457
|
+
expect(@generator.disabled_templates).to include(:rspec)
|
404
458
|
end
|
405
459
|
|
406
460
|
it "should create the test/ directory" do
|
407
|
-
@path.
|
461
|
+
expect(@path).to have_directory('test')
|
408
462
|
end
|
409
463
|
|
410
464
|
it "should create the test/helper.rb file" do
|
411
|
-
@path.
|
465
|
+
expect(@path).to have_file('test','helper.rb')
|
412
466
|
end
|
413
467
|
|
414
468
|
it "should add a single test_*.rb file" do
|
415
|
-
@path.
|
469
|
+
expect(@path).to have_file('test',"test_#{@name}.rb")
|
416
470
|
end
|
417
471
|
end
|
418
472
|
|
419
|
-
context "
|
420
|
-
let(:name) { 'mini_test_project' }
|
421
|
-
|
473
|
+
context "minitest" do
|
422
474
|
before(:all) do
|
423
|
-
|
475
|
+
@name = 'minitest_project'
|
476
|
+
|
477
|
+
generate!(@name, minitest: true)
|
424
478
|
end
|
425
479
|
|
426
480
|
it "should disable the test_unit template" do
|
427
|
-
@generator.disabled_templates.
|
481
|
+
expect(@generator.disabled_templates).to include(:test_unit)
|
428
482
|
end
|
429
483
|
|
430
484
|
it "should disable the rspec template" do
|
431
|
-
@generator.disabled_templates.
|
485
|
+
expect(@generator.disabled_templates).to include(:rspec)
|
432
486
|
end
|
433
487
|
|
434
488
|
it "should create the test/ directory" do
|
435
|
-
@path.
|
489
|
+
expect(@path).to have_directory('test')
|
436
490
|
end
|
437
491
|
|
438
492
|
it "should create the test/helper.rb file" do
|
439
|
-
@path.
|
493
|
+
expect(@path).to have_file('test','helper.rb')
|
440
494
|
end
|
441
495
|
|
442
496
|
it "should add a single test_*.rb file" do
|
443
|
-
@path.
|
497
|
+
expect(@path).to have_file('test',"test_#{@name}.rb")
|
444
498
|
end
|
445
499
|
end
|
446
500
|
|
447
501
|
context "rspec" do
|
448
|
-
let(:name) { 'rspec_project' }
|
449
|
-
|
450
502
|
before(:all) do
|
451
|
-
|
503
|
+
@name = 'rspec_project'
|
504
|
+
|
505
|
+
generate!(@name, rspec: true)
|
452
506
|
end
|
453
507
|
|
454
508
|
it "should disable the test_unit template" do
|
455
|
-
@generator.disabled_templates.
|
509
|
+
expect(@generator.disabled_templates).to include(:test_unit)
|
456
510
|
end
|
457
511
|
|
458
|
-
it "should disable the
|
459
|
-
@generator.disabled_templates.
|
512
|
+
it "should disable the minitest template" do
|
513
|
+
expect(@generator.disabled_templates).to include(:minitest)
|
460
514
|
end
|
461
515
|
|
462
516
|
it "should not create the test/ directory" do
|
463
|
-
@path.
|
517
|
+
expect(@path).not_to have_directory('test')
|
464
518
|
end
|
465
519
|
|
466
520
|
it "should create the spec/ directory" do
|
467
|
-
@path.
|
521
|
+
expect(@path).to have_directory('spec')
|
468
522
|
end
|
469
523
|
|
470
524
|
it "should add a spec_helper.rb file" do
|
471
|
-
@path.
|
525
|
+
expect(@path).to have_file('spec','spec_helper.rb')
|
472
526
|
end
|
473
527
|
|
474
528
|
it "should add a single *_spec.rb file" do
|
475
|
-
@path.
|
529
|
+
expect(@path).to have_file('spec','rspec_project_spec.rb')
|
476
530
|
end
|
477
531
|
|
478
532
|
it "should add a .rspec file" do
|
479
|
-
@path.
|
533
|
+
expect(@path).to have_file('.rspec')
|
480
534
|
end
|
481
535
|
|
482
536
|
it "should add 'rspec' as a development dependency" do
|
483
|
-
@gemspec.
|
537
|
+
expect(@gemspec).to have_development_dependency('rspec')
|
484
538
|
end
|
485
539
|
end
|
486
540
|
|
487
541
|
context "rspec with bundler" do
|
488
|
-
let(:name) { 'bundled_rspec_project' }
|
489
|
-
|
490
542
|
before(:all) do
|
491
|
-
|
543
|
+
@name = 'bundled_rspec_project'
|
544
|
+
|
545
|
+
generate!(@name, bundler: true, rspec: true)
|
492
546
|
end
|
493
547
|
|
494
548
|
it "should add 'rspec' as a development dependency" do
|
495
|
-
@gemspec.
|
549
|
+
expect(@gemspec).to have_development_dependency('rspec')
|
496
550
|
end
|
497
551
|
end
|
498
552
|
|
499
553
|
context "rubygems-tasks" do
|
500
|
-
let(:name) { 'rubygems_tasks_project' }
|
501
|
-
|
502
554
|
before(:all) do
|
503
|
-
|
555
|
+
@name = 'rubygems_tasks_project'
|
556
|
+
|
557
|
+
generate!(@name, rubygems_tasks: true)
|
504
558
|
end
|
505
559
|
|
506
560
|
it "should disable the bundler_tasks template" do
|
507
|
-
@generator.disabled_templates.
|
561
|
+
expect(@generator.disabled_templates).to include(:bundler_tasks)
|
508
562
|
end
|
509
563
|
|
510
564
|
it "should add 'rubygems-tasks' as a development dependency" do
|
511
|
-
@gemspec.
|
565
|
+
expect(@gemspec).to have_development_dependency('rubygems-tasks')
|
512
566
|
end
|
513
567
|
end
|
514
568
|
|
515
569
|
context "rubygems-tasks with bundler" do
|
516
|
-
let(:name) { 'bundled_ore_project' }
|
517
|
-
|
518
570
|
before(:all) do
|
519
|
-
|
571
|
+
@name = 'bundled_ore_project'
|
572
|
+
|
573
|
+
generate!(@name, bundler: true, rubygems_tasks: true)
|
520
574
|
end
|
521
575
|
|
522
576
|
it "should add 'rubygems-tasks' as a development dependency" do
|
523
|
-
@gemspec.
|
577
|
+
expect(@gemspec).to have_development_dependency('rubygems-tasks')
|
524
578
|
end
|
525
579
|
end
|
526
580
|
|
527
|
-
context "
|
528
|
-
let(:name) { 'bundler_tasks_project' }
|
529
|
-
|
581
|
+
context "bundler without rubygems-tasks" do
|
530
582
|
before(:all) do
|
531
|
-
|
532
|
-
end
|
583
|
+
@name = 'bundler_without_rubygems_tasks_project'
|
533
584
|
|
534
|
-
|
535
|
-
@generator.disabled_templates.should include(:rubygems_tasks)
|
585
|
+
generate!(@name, bundler: true, rubygems_tasks: false)
|
536
586
|
end
|
537
587
|
|
538
|
-
it "should
|
539
|
-
|
588
|
+
it "should add \"require 'bundler/gem_tasks'\" to the Rakefile" do
|
589
|
+
expect(rakefile).to include("require 'bundler/gem_tasks'")
|
540
590
|
end
|
541
591
|
end
|
542
592
|
|
543
593
|
context "gem_package_task" do
|
544
|
-
let(:name) { 'gem_package_task_project' }
|
545
|
-
|
546
594
|
before(:all) do
|
547
|
-
|
595
|
+
@name = 'gem_package_task_project'
|
596
|
+
|
597
|
+
generate!(@name, gem_package_task: true)
|
548
598
|
end
|
549
599
|
|
550
600
|
it "should disable the rubygems_tasks template" do
|
551
|
-
@generator.disabled_templates.
|
601
|
+
expect(@generator.disabled_templates).to include(:rubygems_tasks)
|
552
602
|
end
|
553
603
|
|
554
604
|
it "should disable the bundler_tasks template" do
|
555
|
-
@generator.disabled_templates.
|
605
|
+
expect(@generator.disabled_templates).to include(:bundler_tasks)
|
556
606
|
end
|
557
607
|
end
|
558
608
|
|