burke 0.1.0 → 0.2.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.
- data/README.rdoc +66 -0
- data/Rakefile +26 -0
- data/VERSION +1 -0
- data/lib/burke.rb +267 -97
- data/lib/mash.rb +25 -0
- data/spec/mash_spec.rb +11 -0
- data/spec/spec_helper.rb +2 -0
- metadata +19 -8
data/README.rdoc
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
= Burke
|
2
|
+
|
3
|
+
== Synopsis
|
4
|
+
|
5
|
+
Burke provides a bunch of helpers to make creating Rake files a little more
|
6
|
+
pleasant. There are many subjective elements to this project, particularly
|
7
|
+
when it comes to sensible defaults, but popular Ruby conventions are adhered to
|
8
|
+
where possible. The project is named after Don Burke, host of an Australian
|
9
|
+
gardening and home improvement show named Burke's Backyard
|
10
|
+
(http://www.burkesbackyard.com.au).
|
11
|
+
|
12
|
+
== Features
|
13
|
+
|
14
|
+
* DRY definition of Gem packages for multiple platforms
|
15
|
+
* Recovery from missing libraries like Yard and RSpec
|
16
|
+
|
17
|
+
== Example
|
18
|
+
|
19
|
+
Here is a sample Rakefile using Burke.
|
20
|
+
|
21
|
+
require 'rubygems'
|
22
|
+
require 'burke'
|
23
|
+
require 'fileutils'
|
24
|
+
|
25
|
+
# Enable all tasks possible
|
26
|
+
Burke.enable_all
|
27
|
+
|
28
|
+
# Give Burke some data about the project
|
29
|
+
Burke.setup do |s|
|
30
|
+
s.name = 'foo'
|
31
|
+
s.version = '1.2.3'
|
32
|
+
s.summary = 'an example Ruby library with extra foo'
|
33
|
+
s.files = FileList['lib/**/*.rb']
|
34
|
+
|
35
|
+
s.docs do |d|
|
36
|
+
d.readme = 'README'
|
37
|
+
d.markup = 'rdoc'
|
38
|
+
end
|
39
|
+
|
40
|
+
s.gems do |g|
|
41
|
+
g.platform 'ruby'
|
42
|
+
|
43
|
+
g.platform 'x86-linux' do |p|
|
44
|
+
p.before do |s|
|
45
|
+
FileUtils.copy 'native/libfoo-x86-linux.so', 'lib/libfoo.so'
|
46
|
+
s.add_dependency 'ffi'
|
47
|
+
s.files += ['lib/libfoo.so']
|
48
|
+
end
|
49
|
+
|
50
|
+
p.after do
|
51
|
+
FileUtils.remove 'lib/libfoo.so'
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
== Default attributes
|
58
|
+
|
59
|
+
* +version+ inferred from contents of 'VERSION' file
|
60
|
+
* +files+ all files in 'lib' and 'spec' plus detected 'README', 'VERSION',
|
61
|
+
'LICENSE', 'COPYING' and/or 'Rakefile'
|
62
|
+
* +docs.readme+ inferred from files matching 'README[\..*]?', case ignored
|
63
|
+
* +docs.markup+ inferred from extension of detected README file
|
64
|
+
* +rspec.spec_files+ 'spec/**/*_spec.rb'
|
65
|
+
* +rspec.color+ true
|
66
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
$LOAD_PATH << File.join(File.dirname(File.expand_path(__FILE__)), 'lib')
|
2
|
+
require 'burke'
|
3
|
+
|
4
|
+
Burke.enable_all
|
5
|
+
|
6
|
+
Burke.setup do |s|
|
7
|
+
s.name = 'burke'
|
8
|
+
s.summary = 'Helper for creating nice and clean Rake files'
|
9
|
+
s.author = 'Aiden Nibali'
|
10
|
+
s.email = 'dismal.denizen@gmail.com'
|
11
|
+
s.homepage = "http://github.com/dismaldenizen/burke"
|
12
|
+
|
13
|
+
s.dependencies do |d|
|
14
|
+
d.rake '~> 0.8.7'
|
15
|
+
end
|
16
|
+
|
17
|
+
s.has_rdoc = true
|
18
|
+
|
19
|
+
s.clean = %w[.yardoc]
|
20
|
+
s.clobber = %w[pkg doc html]
|
21
|
+
|
22
|
+
s.gems do |g|
|
23
|
+
g.platform 'ruby'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.2.0
|
data/lib/burke.rb
CHANGED
@@ -2,150 +2,320 @@ require 'rubygems'
|
|
2
2
|
require 'rubygems/installer'
|
3
3
|
require 'rake'
|
4
4
|
require 'rake/tasklib'
|
5
|
-
|
6
|
-
desc "Build gems for all targets"
|
7
|
-
task :gems
|
5
|
+
require 'mash'
|
8
6
|
|
9
7
|
module Burke
|
10
|
-
VERSION =
|
8
|
+
VERSION = File.read(File.join(File.dirname(File.dirname(__FILE__)), 'VERSION'))
|
9
|
+
@tasks = []
|
11
10
|
|
12
11
|
class << self
|
13
|
-
def
|
14
|
-
@
|
15
|
-
|
16
|
-
@base_spec
|
12
|
+
def enable_all opts={}
|
13
|
+
@tasks = %w[clean yard rdoc rspec rspec_rcov gems install].map {|t| t.to_sym}
|
14
|
+
disable opts[:except] if opts[:except]
|
17
15
|
end
|
18
16
|
|
19
|
-
def
|
20
|
-
|
17
|
+
def enable *args
|
18
|
+
@tasks.concat([*args].map {|t| t.to_sym})
|
19
|
+
@tasks.uniq!
|
21
20
|
end
|
22
21
|
|
23
|
-
def
|
24
|
-
|
22
|
+
def disable *args
|
23
|
+
dis = [*args].map {|t| t.to_sym}
|
24
|
+
@tasks.reject! {|t| dis.include? t}
|
25
25
|
end
|
26
26
|
|
27
|
-
def
|
27
|
+
def setup
|
28
|
+
@settings = Mash[
|
29
|
+
:dependencies => Mash[],
|
30
|
+
:docs => Mash[],
|
31
|
+
:rspec => Mash[:rcov => Mash[]],
|
32
|
+
:gems => GemSettings.new,
|
33
|
+
:clean => [],
|
34
|
+
:clobber => [],
|
35
|
+
]
|
36
|
+
|
37
|
+
@settings.files = Dir.glob('{lib,spec}/**/*')
|
38
|
+
%w[Rakefile COPYING LICENSE].each do |file|
|
39
|
+
@settings.files << file if File.exists?(file)
|
40
|
+
end
|
41
|
+
|
42
|
+
project_files = Dir['*'].reject! {|f| File.directory? f or !File.readable? f}
|
43
|
+
|
44
|
+
version_file = 'VERSION'
|
45
|
+
if File.readable?(version_file)
|
46
|
+
@settings.version = File.read(version_file).strip
|
47
|
+
@settings.files << version_file
|
48
|
+
end
|
49
|
+
|
50
|
+
license_file = nil
|
51
|
+
project_files.each do |f|
|
52
|
+
if %w[license licence copying].include? f.downcase.split('.').first
|
53
|
+
license_file = f
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
if license_file
|
58
|
+
@settings.docs.license = license_file
|
59
|
+
@settings.files << license_file
|
60
|
+
end
|
61
|
+
|
62
|
+
readme_file = nil
|
63
|
+
project_files.each do |f|
|
64
|
+
if f.downcase =~ /readme[\..*]?/
|
65
|
+
readme_file = f if readme_file.nil? or f.length < readme_file.length
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
if readme_file
|
70
|
+
@settings.docs.readme = File.basename readme_file
|
71
|
+
@settings.files << readme_file
|
72
|
+
@settings.docs.markup = case File.extname(readme_file).downcase
|
73
|
+
when '.rdoc'
|
74
|
+
'rdoc'
|
75
|
+
when '.md'
|
76
|
+
'markdown'
|
77
|
+
when '.textile'
|
78
|
+
'textile'
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
@settings.rspec.spec_files = Dir['spec/**/*_spec.rb']
|
83
|
+
@settings.rspec.color = true
|
84
|
+
|
85
|
+
yield @settings
|
86
|
+
|
87
|
+
begin
|
88
|
+
require 'rake/clean'
|
89
|
+
CLOBBER.include(*@settings.clobber) if @settings.clobber
|
90
|
+
rescue LoadError
|
91
|
+
end if @tasks.include? :clean
|
92
|
+
|
93
|
+
unless @settings.docs.files
|
94
|
+
d = @settings.docs
|
95
|
+
fl = FileList.new
|
96
|
+
fl.include "lib/**/*.rb"
|
97
|
+
fl.include d.readme if d.readme
|
98
|
+
fl.include d.license if d.license
|
99
|
+
d.files = fl.to_a
|
100
|
+
end
|
101
|
+
|
28
102
|
begin
|
29
103
|
require 'yard'
|
30
|
-
|
104
|
+
opts = []
|
105
|
+
d = @settings.docs
|
106
|
+
opts << "--title" << "#{@settings.name} #{@settings.version}"
|
107
|
+
opts << "--readme" << d.readme if d.readme
|
108
|
+
opts << "--markup" << d.markup if d.markup
|
109
|
+
extra_files = [d.license].compact
|
110
|
+
opts << "--files" << extra_files.join(',') unless extra_files.empty?
|
111
|
+
YARD::Rake::YardocTask.new 'yard' do |t|
|
112
|
+
t.options = opts
|
113
|
+
end
|
114
|
+
rescue LoadError
|
115
|
+
end if @tasks.include? :yard
|
116
|
+
|
117
|
+
begin
|
118
|
+
require 'rake/rdoctask'
|
119
|
+
d = @settings.docs
|
120
|
+
Rake::RDocTask.new 'rdoc' do |r|
|
121
|
+
r.rdoc_files.include d.files
|
122
|
+
r.title = "#{@settings.name} #{@settings.version}"
|
123
|
+
r.main = d.readme if d.readme
|
124
|
+
end
|
31
125
|
rescue LoadError
|
32
|
-
|
126
|
+
end if @tasks.include? :rdoc
|
127
|
+
|
128
|
+
if @settings.has_rdoc
|
129
|
+
d = @settings.docs
|
130
|
+
(@settings.extra_rdoc_files ||= []).concat d.files
|
131
|
+
opts = []
|
132
|
+
opts << "--title" << "#{@settings.name} #{@settings.version}"
|
133
|
+
opts << "--main" << d.readme if d.readme
|
134
|
+
@settings.rdoc_options ||= opts
|
33
135
|
end
|
34
|
-
|
35
|
-
|
36
|
-
def spec_task *args, &block
|
136
|
+
|
37
137
|
begin
|
38
138
|
require 'spec/rake/spectask'
|
39
|
-
|
139
|
+
r = @settings.rspec
|
140
|
+
opts = []
|
141
|
+
opts << "--colour" if r.color
|
142
|
+
opts << "--format" << r.format if r.format
|
143
|
+
Spec::Rake::SpecTask.new 'spec' do |t|
|
144
|
+
t.spec_files = r.spec_files
|
145
|
+
t.spec_opts = opts
|
146
|
+
end unless r.empty?
|
147
|
+
|
148
|
+
begin
|
149
|
+
require 'spec/rake/verify_rcov'
|
150
|
+
|
151
|
+
desc "Run specs with RCov"
|
152
|
+
Spec::Rake::SpecTask.new('spec:rcov') do |t|
|
153
|
+
t.spec_files = r.spec_files
|
154
|
+
t.spec_opts = opts
|
155
|
+
t.rcov = true
|
156
|
+
t.rcov_opts = ['--exclude', 'spec']
|
157
|
+
end
|
158
|
+
|
159
|
+
RCov::VerifyTask.new('spec:rcov:verify' => 'spec:rcov') do |t|
|
160
|
+
t.threshold = r.rcov.threshold
|
161
|
+
t.index_html = 'coverage/index.html'
|
162
|
+
end if r.rcov.threshold
|
163
|
+
rescue LoadError
|
164
|
+
end if @tasks.include? :rspec_rcov
|
40
165
|
rescue LoadError
|
41
|
-
|
166
|
+
end if @tasks.include? :rspec
|
167
|
+
|
168
|
+
begin
|
169
|
+
settings.gems.individuals.each do |conf|
|
170
|
+
GemTaskManager.add_task conf
|
171
|
+
end
|
172
|
+
|
173
|
+
if name
|
174
|
+
desc "Build gem for this platform"
|
175
|
+
task(:gem => GemTaskManager.task_for_this_platform.task_name)
|
176
|
+
end
|
177
|
+
rescue LoadError
|
178
|
+
end if @tasks.include? :gems
|
179
|
+
|
180
|
+
if @tasks.include? :install
|
181
|
+
GemTaskManager.install_task unless GemTaskManager::TASKS.empty?
|
42
182
|
end
|
183
|
+
|
184
|
+
@settings
|
43
185
|
end
|
44
186
|
|
45
|
-
def
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
187
|
+
def base_gemspec
|
188
|
+
if @base_gemspec.nil?
|
189
|
+
@base_gemspec = Gem::Specification.new
|
190
|
+
|
191
|
+
attrs = Gem::Specification.attribute_names
|
192
|
+
attrs -= [:dependencies]
|
193
|
+
attrs += [:author]
|
194
|
+
|
195
|
+
attrs.each do |attr|
|
196
|
+
value = @settings.send(attr)
|
197
|
+
@base_gemspec.send("#{attr}=", value) if value
|
198
|
+
end
|
199
|
+
|
200
|
+
@settings.dependencies.each do |gem, version|
|
201
|
+
@base_gemspec.add_dependency gem.to_s, version
|
202
|
+
end
|
51
203
|
end
|
204
|
+
|
205
|
+
@base_gemspec
|
206
|
+
end
|
207
|
+
|
208
|
+
def settings
|
209
|
+
@settings
|
52
210
|
end
|
53
211
|
end
|
54
212
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
213
|
+
class GemTaskManager
|
214
|
+
TASKS = {}
|
215
|
+
|
216
|
+
def self.add_task conf
|
217
|
+
spec = conf.gemspec
|
218
|
+
name = "gem:#{spec.platform}"
|
219
|
+
pkg_dir = Burke.settings.gems.package_dir
|
60
220
|
|
61
|
-
|
221
|
+
if TASKS.empty?
|
222
|
+
desc "Build gems for all targets"
|
223
|
+
end
|
224
|
+
task :gems => name
|
62
225
|
|
63
|
-
|
64
|
-
|
65
|
-
@spec.platform = Gem::Platform.new plaf
|
66
|
-
@name = "gem:#{@spec.platform}"
|
67
|
-
yield self if block_given?
|
68
|
-
define
|
226
|
+
unless ::Rake.application.last_comment
|
227
|
+
desc "Build gem for target '#{spec.platform}'"
|
69
228
|
end
|
70
229
|
|
71
|
-
|
72
|
-
|
230
|
+
task(name) do
|
231
|
+
conf.before.call spec unless conf.before.nil?
|
232
|
+
builder = Gem::Builder.new(spec)
|
233
|
+
builder.build
|
234
|
+
verbose true do
|
235
|
+
mkdir pkg_dir unless File.exists? pkg_dir
|
236
|
+
mv conf.gem_file, File.join(pkg_dir, conf.gem_file)
|
237
|
+
end
|
238
|
+
conf.after.call spec unless conf.after.nil?
|
73
239
|
end
|
74
240
|
|
75
|
-
|
76
|
-
|
241
|
+
TASKS[spec.platform.to_s] = conf
|
242
|
+
end
|
243
|
+
|
244
|
+
def self.has_task? platform
|
245
|
+
TASKS.has_key? platform
|
246
|
+
end
|
247
|
+
|
248
|
+
def self.task_for_this_platform
|
249
|
+
platform = Gem::Platform.new(RUBY_PLATFORM).to_s
|
250
|
+
name = nil
|
251
|
+
|
252
|
+
if GemTaskManager.has_task? platform
|
253
|
+
name = platform
|
254
|
+
elsif GemTaskManager.has_task? 'ruby'
|
255
|
+
name = "ruby"
|
77
256
|
end
|
78
257
|
|
79
|
-
|
80
|
-
|
258
|
+
TASKS[name]
|
259
|
+
end
|
260
|
+
|
261
|
+
def self.install_task
|
262
|
+
t = task_for_this_platform
|
263
|
+
|
264
|
+
desc "Install gem for this platform"
|
265
|
+
task 'install' => [t.task_name] do
|
266
|
+
Gem::Installer.new(File.join(t.package_dir, t.gem_file)).install
|
81
267
|
end
|
268
|
+
end
|
269
|
+
end
|
270
|
+
|
271
|
+
class GemSettings
|
272
|
+
attr_accessor :package_dir, :individuals
|
273
|
+
|
274
|
+
def initialize
|
275
|
+
@package_dir = 'pkg'
|
276
|
+
end
|
277
|
+
|
278
|
+
def platform plaf
|
279
|
+
conf = IndividualGemSettings.new plaf
|
280
|
+
@individuals ||= []
|
281
|
+
@individuals << conf
|
282
|
+
yield conf if block_given?
|
283
|
+
conf
|
284
|
+
end
|
285
|
+
|
286
|
+
class IndividualGemSettings
|
287
|
+
attr_reader :platform
|
82
288
|
|
83
|
-
def
|
84
|
-
@
|
289
|
+
def initialize plaf
|
290
|
+
@platform = Gem::Platform.new plaf
|
85
291
|
end
|
86
292
|
|
87
|
-
def
|
88
|
-
|
293
|
+
def gemspec
|
294
|
+
spec = Burke.base_gemspec.dup
|
295
|
+
spec.platform = @platform
|
296
|
+
spec
|
89
297
|
end
|
90
298
|
|
91
299
|
def gem_file
|
92
|
-
"#{
|
300
|
+
"#{gemspec.full_name}.gem"
|
93
301
|
end
|
94
302
|
|
95
|
-
|
96
|
-
|
97
|
-
task :gems => name
|
98
|
-
|
99
|
-
unless ::Rake.application.last_comment
|
100
|
-
desc "Build gem for target '#{@spec.platform}'"
|
101
|
-
end
|
102
|
-
task(name) { run_task }
|
103
|
-
TASKS[name] = self
|
104
|
-
|
105
|
-
if @spec.platform == Gem::Platform::RUBY
|
106
|
-
desc "Build gem for target '#{@spec.platform}'"
|
107
|
-
task(:gem) { run_task }
|
108
|
-
end
|
109
|
-
|
110
|
-
self
|
303
|
+
def task_name
|
304
|
+
"gem:#{platform}"
|
111
305
|
end
|
112
306
|
|
113
|
-
def
|
114
|
-
|
115
|
-
@extend_spec.call spec unless @extend_spec.nil?
|
116
|
-
builder = Gem::Builder.new(@spec)
|
117
|
-
builder.build
|
118
|
-
verbose true do
|
119
|
-
mkdir @@package_dir unless File.exists? @@package_dir
|
120
|
-
mv gem_file, File.join(@@package_dir, gem_file)
|
121
|
-
end
|
122
|
-
@after.call unless @after.nil?
|
307
|
+
def package_dir
|
308
|
+
Burke.settings.gems.package_dir
|
123
309
|
end
|
124
|
-
end
|
125
|
-
|
126
|
-
class GemInstallTask < ::Rake::TaskLib
|
127
|
-
attr_reader :name
|
128
310
|
|
129
|
-
def
|
130
|
-
@
|
131
|
-
|
311
|
+
def before &block
|
312
|
+
@before = block if block_given?
|
313
|
+
@before
|
132
314
|
end
|
133
315
|
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
t = nil
|
138
|
-
dep = nil
|
139
|
-
unless t = GemPackageTask::TASKS["gem:#{platform}"]
|
140
|
-
t = GemPackageTask::TASKS["gem:ruby"]
|
141
|
-
end
|
142
|
-
|
143
|
-
desc "Build and install gem for this platform"
|
144
|
-
task name => [t.name] do
|
145
|
-
Gem::Installer.new(File.join(GemPackageTask.package_dir, t.gem_file)).install
|
146
|
-
end
|
147
|
-
|
148
|
-
self
|
316
|
+
def after &block
|
317
|
+
@after = block if block_given?
|
318
|
+
@after
|
149
319
|
end
|
150
320
|
end
|
151
321
|
end
|
data/lib/mash.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
class Mash < Hash
|
2
|
+
def method_missing name, *args, &block
|
3
|
+
if name.to_s =~ /(.*)=/
|
4
|
+
self.[]=($1, *args, &block)
|
5
|
+
else
|
6
|
+
if args.empty?
|
7
|
+
self.[](name, &block)
|
8
|
+
else
|
9
|
+
self.[]=(name, *args, &block)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def []=(k, *v)
|
15
|
+
v = *v if v.one?
|
16
|
+
super k.to_s.downcase.to_sym, v
|
17
|
+
end
|
18
|
+
|
19
|
+
def [](k)
|
20
|
+
v = super(k.to_s.downcase.to_sym)
|
21
|
+
yield v if block_given?
|
22
|
+
v
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
data/spec/mash_spec.rb
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
require File.join(File.dirname(File.expand_path(__FILE__)), 'spec_helper')
|
2
|
+
|
3
|
+
describe Mash do
|
4
|
+
context "when representing {:num => 42}" do
|
5
|
+
subject { Mash[:num => 42] }
|
6
|
+
its(:num) { should eql 42 }
|
7
|
+
its(:size) { should eql 1 }
|
8
|
+
its(:to_hash) { should eql :num => 42 }
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
|
-
-
|
7
|
+
- 2
|
8
8
|
- 0
|
9
|
-
version: 0.
|
9
|
+
version: 0.2.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Aiden Nibali
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-08-
|
17
|
+
date: 2010-08-24 00:00:00 +10:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -31,23 +31,34 @@ dependencies:
|
|
31
31
|
version: 0.8.7
|
32
32
|
type: :runtime
|
33
33
|
version_requirements: *id001
|
34
|
-
description:
|
34
|
+
description:
|
35
35
|
email: dismal.denizen@gmail.com
|
36
36
|
executables: []
|
37
37
|
|
38
38
|
extensions: []
|
39
39
|
|
40
|
-
extra_rdoc_files:
|
41
|
-
|
40
|
+
extra_rdoc_files:
|
41
|
+
- lib/burke.rb
|
42
|
+
- lib/mash.rb
|
43
|
+
- README.rdoc
|
42
44
|
files:
|
43
45
|
- lib/burke.rb
|
46
|
+
- lib/mash.rb
|
47
|
+
- spec/spec_helper.rb
|
48
|
+
- spec/mash_spec.rb
|
49
|
+
- Rakefile
|
50
|
+
- VERSION
|
51
|
+
- README.rdoc
|
44
52
|
has_rdoc: true
|
45
53
|
homepage: http://github.com/dismaldenizen/burke
|
46
54
|
licenses: []
|
47
55
|
|
48
56
|
post_install_message:
|
49
|
-
rdoc_options:
|
50
|
-
|
57
|
+
rdoc_options:
|
58
|
+
- --title
|
59
|
+
- burke 0.2.0
|
60
|
+
- --main
|
61
|
+
- README.rdoc
|
51
62
|
require_paths:
|
52
63
|
- lib
|
53
64
|
required_ruby_version: !ruby/object:Gem::Requirement
|