emitter 0.1.13 → 0.1.14

Sign up to get free protection for your applications and to get access to all the features.
data/lib/emitter/tasks.rb CHANGED
@@ -1,32 +1,64 @@
1
- # Bring in Rocco tasks
1
+ require 'emitter'
2
+ require 'rake'
2
3
  require 'rake/clean'
4
+ require 'rake/tasklib'
3
5
  require 'rocco/tasks'
4
- Rocco::make 'docs/', 'lib/flight/carbon_model.rb'
5
-
6
- desc 'Build rocco docs'
7
- task :docs => :rocco
8
- directory 'docs/'
9
-
10
- # GITHUB PAGES ===============================================================
11
-
12
- desc 'Update gh-pages branch'
13
- task :pages => ['docs/.git', :docs] do
14
- rev = `git rev-parse --short HEAD`.strip
15
- Dir.chdir 'docs' do
16
- sh "git add *.html"
17
- sh "git commit -m 'rebuild pages from #{rev}'" do |ok,res|
18
- if ok
19
- verbose { puts "gh-pages updated" }
20
- sh "git push -q o HEAD:gh-pages"
6
+
7
+ module Emitter
8
+ class Tasks < ::Rake::TaskLib
9
+ def self.define
10
+ new.define
11
+ end
12
+
13
+ def git(cmd, dir = nil, &blk)
14
+ full_cmd = ''
15
+ full_cmd << "cd #{dir} && " if dir
16
+ full_cmd << "unset GIT_DIR && unset GIT_INDEX_FILE && unset GIT_WORK_TREE && git #{cmd}"
17
+ sh full_cmd, &blk
18
+ end
19
+
20
+ def define
21
+ Rocco::make 'docs/', 'lib/flight/carbon_model.rb'
22
+
23
+ desc 'Build rocco docs'
24
+ task :docs => :rocco
25
+ directory 'docs/'
26
+
27
+ # GITHUB PAGES ===============================================================
28
+
29
+ desc 'Update gh-pages branch'
30
+ task :pages => ['docs/.git', :docs] do
31
+ rev = `git rev-parse --short HEAD`.strip
32
+ git 'add *.html', 'docs'
33
+ git "commit -m 'rebuild pages from #{rev}'", 'docs' do |ok,res|
34
+ if ok
35
+ verbose { puts "gh-pages updated" }
36
+ git 'push -q o HEAD:gh-pages', 'docs' unless ENV['NO_PUSH']
37
+ end
38
+ end
39
+ end
40
+
41
+ # Update the pages/ directory clone
42
+ file 'docs/.git' => ['.git/refs/heads/gh-pages', '.git/refs/heads/gh-pages', 'docs/.git/refs/remotes/o'] do |f|
43
+ git 'fetch -q o', 'docs'
44
+ git 'reset -q --hard o/gh-pages', 'docs'
45
+ sh 'touch docs'
46
+ end
47
+
48
+ file '.git/refs/heads/gh-pages' do |f|
49
+ unless File.exist? f.name
50
+ git 'branch gh-pages --track origin/gh-pages', 'docs'
51
+ end
52
+ end
53
+
54
+ file 'docs/.git/refs/remotes/o' do |f|
55
+ unless File.exist? f.name
56
+ git 'init -q docs'
57
+ git 'remote add o ../.git', 'docs'
58
+ end
21
59
  end
60
+
61
+ CLOBBER.include 'docs/.git'
22
62
  end
23
63
  end
24
64
  end
25
-
26
- # Update the pages/ directory clone
27
- file 'docs/.git' => ['docs/', '.git/refs/heads/gh-pages'] do |f|
28
- sh "cd docs && git init -q && git remote add o ../.git" if !File.exist?(f.name)
29
- sh "cd docs && git fetch -q o && git reset -q --hard o/gh-pages && touch ."
30
- end
31
- CLOBBER.include 'docs/.git'
32
-
@@ -0,0 +1,51 @@
1
+ require 'spec_helper'
2
+ require 'sandbox'
3
+ require 'emitter/tasks'
4
+
5
+ describe Emitter::Tasks do
6
+ let(:tasks) { Emitter::Tasks.new }
7
+ let(:emitter_path) { File.expand_path '../../', File.dirname(__FILE__) }
8
+ let(:rakefile) do
9
+ rakefile = <<-RAKEFILE
10
+ require '#{emitter_path}/lib/emitter/tasks'
11
+
12
+ Emitter::Tasks.define
13
+ RAKEFILE
14
+ end
15
+
16
+ describe '#define' do
17
+ describe 'docs task' do
18
+ it 'should generate docs' do
19
+ Sandbox.play do |path|
20
+ flight_path = File.join(path, 'flight')
21
+ `cd #{path} && git clone git://github.com/brighterplanet/flight.git`
22
+ File.open(File.join(flight_path, 'Rakefile'), 'w') do |f|
23
+ f.puts rakefile
24
+ end
25
+
26
+ `cd #{flight_path} && rake docs`
27
+ Dir.entries(File.join(flight_path, 'docs')).
28
+ count.should > 2
29
+ end
30
+ end
31
+ end
32
+
33
+ describe 'pages task' do
34
+ it 'should commit any changed doc files' do
35
+ Sandbox.play do |path|
36
+ flight_path = File.join(path, 'flight')
37
+ `cd #{path} && git clone git://github.com/brighterplanet/flight.git`
38
+ File.open(File.join(flight_path, 'Rakefile'), 'w') do |f|
39
+ f.puts rakefile
40
+ end
41
+
42
+ `cd #{flight_path} && mkdir docs && echo "<html>" > docs/foobar.html`
43
+ `cd #{flight_path} && NO_PUSH=true rake pages`
44
+
45
+ `cd #{flight_path}/docs && unset GIT_DIR && unset GIT_INDEX_FILE && unset GIT_WORK_TREE && git log -n 1`.should =~ /rebuild pages/
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emitter
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 1
9
- - 13
10
- version: 0.1.13
8
+ - 14
9
+ version: 0.1.14
11
10
  platform: ruby
12
11
  authors:
13
12
  - Andy Rossmeissl
@@ -19,34 +18,31 @@ autorequire:
19
18
  bindir: bin
20
19
  cert_chain: []
21
20
 
22
- date: 2010-11-11 00:00:00 -05:00
21
+ date: 2010-11-12 00:00:00 -05:00
23
22
  default_executable:
24
23
  dependencies:
25
24
  - !ruby/object:Gem::Dependency
26
25
  name: activerecord
27
- prerelease: false
28
26
  requirement: &id001 !ruby/object:Gem::Requirement
29
27
  none: false
30
28
  requirements:
31
29
  - - ">="
32
30
  - !ruby/object:Gem::Version
33
- hash: 7
34
31
  segments:
35
32
  - 3
36
33
  - 0
37
34
  - 0
38
35
  version: 3.0.0
39
36
  type: :development
37
+ prerelease: false
40
38
  version_requirements: *id001
41
39
  - !ruby/object:Gem::Dependency
42
40
  name: bundler
43
- prerelease: false
44
41
  requirement: &id002 !ruby/object:Gem::Requirement
45
42
  none: false
46
43
  requirements:
47
44
  - - ">="
48
45
  - !ruby/object:Gem::Version
49
- hash: 62196359
50
46
  segments:
51
47
  - 1
52
48
  - 0
@@ -55,60 +51,56 @@ dependencies:
55
51
  - 2
56
52
  version: 1.0.0.beta.2
57
53
  type: :development
54
+ prerelease: false
58
55
  version_requirements: *id002
59
56
  - !ruby/object:Gem::Dependency
60
57
  name: jeweler
61
- prerelease: false
62
58
  requirement: &id003 !ruby/object:Gem::Requirement
63
59
  none: false
64
60
  requirements:
65
61
  - - ">="
66
62
  - !ruby/object:Gem::Version
67
- hash: 7
68
63
  segments:
69
64
  - 1
70
65
  - 4
71
66
  - 0
72
67
  version: 1.4.0
73
68
  type: :development
69
+ prerelease: false
74
70
  version_requirements: *id003
75
71
  - !ruby/object:Gem::Dependency
76
72
  name: rake
77
- prerelease: false
78
73
  requirement: &id004 !ruby/object:Gem::Requirement
79
74
  none: false
80
75
  requirements:
81
76
  - - ">="
82
77
  - !ruby/object:Gem::Version
83
- hash: 3
84
78
  segments:
85
79
  - 0
86
80
  version: "0"
87
81
  type: :development
82
+ prerelease: false
88
83
  version_requirements: *id004
89
84
  - !ruby/object:Gem::Dependency
90
85
  name: rdoc
91
- prerelease: false
92
86
  requirement: &id005 !ruby/object:Gem::Requirement
93
87
  none: false
94
88
  requirements:
95
89
  - - ">="
96
90
  - !ruby/object:Gem::Version
97
- hash: 3
98
91
  segments:
99
92
  - 0
100
93
  version: "0"
101
94
  type: :development
95
+ prerelease: false
102
96
  version_requirements: *id005
103
97
  - !ruby/object:Gem::Dependency
104
98
  name: rspec
105
- prerelease: false
106
99
  requirement: &id006 !ruby/object:Gem::Requirement
107
100
  none: false
108
101
  requirements:
109
102
  - - ">="
110
103
  - !ruby/object:Gem::Version
111
- hash: 62196417
112
104
  segments:
113
105
  - 2
114
106
  - 0
@@ -117,214 +109,215 @@ dependencies:
117
109
  - 17
118
110
  version: 2.0.0.beta.17
119
111
  type: :development
112
+ prerelease: false
120
113
  version_requirements: *id006
121
114
  - !ruby/object:Gem::Dependency
122
- name: sniff
123
- prerelease: false
115
+ name: sandbox
124
116
  requirement: &id007 !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ segments:
122
+ - 0
123
+ version: "0"
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: *id007
127
+ - !ruby/object:Gem::Dependency
128
+ name: sniff
129
+ requirement: &id008 !ruby/object:Gem::Requirement
125
130
  none: false
126
131
  requirements:
127
132
  - - ~>
128
133
  - !ruby/object:Gem::Version
129
- hash: 3
130
134
  segments:
131
135
  - 0
132
136
  - 1
133
137
  - 12
134
138
  version: 0.1.12
135
139
  type: :development
136
- version_requirements: *id007
140
+ prerelease: false
141
+ version_requirements: *id008
137
142
  - !ruby/object:Gem::Dependency
138
143
  name: activesupport
139
- prerelease: false
140
- requirement: &id008 !ruby/object:Gem::Requirement
144
+ requirement: &id009 !ruby/object:Gem::Requirement
141
145
  none: false
142
146
  requirements:
143
147
  - - ">="
144
148
  - !ruby/object:Gem::Version
145
- hash: 7
146
149
  segments:
147
150
  - 3
148
151
  - 0
149
152
  - 0
150
153
  version: 3.0.0
151
154
  type: :runtime
152
- version_requirements: *id008
155
+ prerelease: false
156
+ version_requirements: *id009
153
157
  - !ruby/object:Gem::Dependency
154
158
  name: characterizable
155
- prerelease: false
156
- requirement: &id009 !ruby/object:Gem::Requirement
159
+ requirement: &id010 !ruby/object:Gem::Requirement
157
160
  none: false
158
161
  requirements:
159
162
  - - ~>
160
163
  - !ruby/object:Gem::Version
161
- hash: 27
162
164
  segments:
163
165
  - 0
164
166
  - 1
165
167
  - 0
166
168
  version: 0.1.0
167
169
  type: :runtime
168
- version_requirements: *id009
170
+ prerelease: false
171
+ version_requirements: *id010
169
172
  - !ruby/object:Gem::Dependency
170
173
  name: cohort_scope
171
- prerelease: false
172
- requirement: &id010 !ruby/object:Gem::Requirement
174
+ requirement: &id011 !ruby/object:Gem::Requirement
173
175
  none: false
174
176
  requirements:
175
177
  - - ~>
176
178
  - !ruby/object:Gem::Version
177
- hash: 27
178
179
  segments:
179
180
  - 0
180
181
  - 1
181
182
  - 0
182
183
  version: 0.1.0
183
184
  type: :runtime
184
- version_requirements: *id010
185
+ prerelease: false
186
+ version_requirements: *id011
185
187
  - !ruby/object:Gem::Dependency
186
188
  name: data_miner
187
- prerelease: false
188
- requirement: &id011 !ruby/object:Gem::Requirement
189
+ requirement: &id012 !ruby/object:Gem::Requirement
189
190
  none: false
190
191
  requirements:
191
192
  - - ~>
192
193
  - !ruby/object:Gem::Version
193
- hash: 1
194
194
  segments:
195
195
  - 0
196
196
  - 5
197
197
  - 5
198
198
  version: 0.5.5
199
199
  type: :runtime
200
- version_requirements: *id011
200
+ prerelease: false
201
+ version_requirements: *id012
201
202
  - !ruby/object:Gem::Dependency
202
203
  name: earth
203
- prerelease: false
204
- requirement: &id012 !ruby/object:Gem::Requirement
204
+ requirement: &id013 !ruby/object:Gem::Requirement
205
205
  none: false
206
206
  requirements:
207
207
  - - ~>
208
208
  - !ruby/object:Gem::Version
209
- hash: 27
210
209
  segments:
211
210
  - 0
212
211
  - 2
213
212
  - 6
214
213
  version: 0.2.6
215
214
  type: :runtime
216
- version_requirements: *id012
215
+ prerelease: false
216
+ version_requirements: *id013
217
217
  - !ruby/object:Gem::Dependency
218
218
  name: falls_back_on
219
- prerelease: false
220
- requirement: &id013 !ruby/object:Gem::Requirement
219
+ requirement: &id014 !ruby/object:Gem::Requirement
221
220
  none: false
222
221
  requirements:
223
222
  - - "="
224
223
  - !ruby/object:Gem::Version
225
- hash: 25
226
224
  segments:
227
225
  - 0
228
226
  - 0
229
227
  - 3
230
228
  version: 0.0.3
231
229
  type: :runtime
232
- version_requirements: *id013
230
+ prerelease: false
231
+ version_requirements: *id014
233
232
  - !ruby/object:Gem::Dependency
234
233
  name: fast_timestamp
235
- prerelease: false
236
- requirement: &id014 !ruby/object:Gem::Requirement
234
+ requirement: &id015 !ruby/object:Gem::Requirement
237
235
  none: false
238
236
  requirements:
239
237
  - - ">="
240
238
  - !ruby/object:Gem::Version
241
- hash: 23
242
239
  segments:
243
240
  - 0
244
241
  - 0
245
242
  - 4
246
243
  version: 0.0.4
247
244
  type: :runtime
248
- version_requirements: *id014
245
+ prerelease: false
246
+ version_requirements: *id015
249
247
  - !ruby/object:Gem::Dependency
250
248
  name: leap
251
- prerelease: false
252
- requirement: &id015 !ruby/object:Gem::Requirement
249
+ requirement: &id016 !ruby/object:Gem::Requirement
253
250
  none: false
254
251
  requirements:
255
252
  - - ~>
256
253
  - !ruby/object:Gem::Version
257
- hash: 7
258
254
  segments:
259
255
  - 0
260
256
  - 4
261
257
  - 4
262
258
  version: 0.4.4
263
259
  type: :runtime
264
- version_requirements: *id015
260
+ prerelease: false
261
+ version_requirements: *id016
265
262
  - !ruby/object:Gem::Dependency
266
263
  name: summary_judgement
267
- prerelease: false
268
- requirement: &id016 !ruby/object:Gem::Requirement
264
+ requirement: &id017 !ruby/object:Gem::Requirement
269
265
  none: false
270
266
  requirements:
271
267
  - - ">="
272
268
  - !ruby/object:Gem::Version
273
- hash: 11
274
269
  segments:
275
270
  - 1
276
271
  - 3
277
272
  - 8
278
273
  version: 1.3.8
279
274
  type: :runtime
280
- version_requirements: *id016
275
+ prerelease: false
276
+ version_requirements: *id017
281
277
  - !ruby/object:Gem::Dependency
282
278
  name: timeframe
283
- prerelease: false
284
- requirement: &id017 !ruby/object:Gem::Requirement
279
+ requirement: &id018 !ruby/object:Gem::Requirement
285
280
  none: false
286
281
  requirements:
287
282
  - - ">="
288
283
  - !ruby/object:Gem::Version
289
- hash: 15
290
284
  segments:
291
285
  - 0
292
286
  - 0
293
287
  - 8
294
288
  version: 0.0.8
295
289
  type: :runtime
296
- version_requirements: *id017
290
+ prerelease: false
291
+ version_requirements: *id018
297
292
  - !ruby/object:Gem::Dependency
298
293
  name: weighted_average
299
- prerelease: false
300
- requirement: &id018 !ruby/object:Gem::Requirement
294
+ requirement: &id019 !ruby/object:Gem::Requirement
301
295
  none: false
302
296
  requirements:
303
297
  - - ">="
304
298
  - !ruby/object:Gem::Version
305
- hash: 23
306
299
  segments:
307
300
  - 0
308
301
  - 0
309
302
  - 4
310
303
  version: 0.0.4
311
304
  type: :runtime
312
- version_requirements: *id018
305
+ prerelease: false
306
+ version_requirements: *id019
313
307
  - !ruby/object:Gem::Dependency
314
308
  name: rocco
315
- prerelease: false
316
- requirement: &id019 !ruby/object:Gem::Requirement
309
+ requirement: &id020 !ruby/object:Gem::Requirement
317
310
  none: false
318
311
  requirements:
319
312
  - - ~>
320
313
  - !ruby/object:Gem::Version
321
- hash: 3
322
314
  segments:
323
315
  - 0
324
316
  - 4
325
317
  version: "0.4"
326
318
  type: :runtime
327
- version_requirements: *id019
319
+ prerelease: false
320
+ version_requirements: *id020
328
321
  description: A software model in Ruby for the greenhouse gas emissions
329
322
  email: derek@brighterplanet.com
330
323
  executables: []
@@ -340,19 +333,20 @@ files:
340
333
  - lib/emitter.rb
341
334
  - lib/emitter/tasks.rb
342
335
  - spec/emitter/meta_spec.rb
336
+ - spec/emitter/tasks_spec.rb
343
337
  - spec/emitter_spec.rb
344
- - spec/fixtures/biplane/lib/biplane/carbon_model.rb
345
- - spec/fixtures/biplane/lib/biplane/characterization.rb
346
- - spec/fixtures/biplane/lib/biplane/data.rb
347
- - spec/fixtures/biplane/lib/biplane/summarization.rb
348
- - spec/fixtures/biplane/lib/biplane.rb
338
+ - spec/fixtures/dirigible/lib/dirigible/fallback.rb
349
339
  - spec/fixtures/dirigible/lib/dirigible/carbon_model.rb
350
- - spec/fixtures/dirigible/lib/dirigible/characterization.rb
351
340
  - spec/fixtures/dirigible/lib/dirigible/data.rb
352
- - spec/fixtures/dirigible/lib/dirigible/fallback.rb
353
341
  - spec/fixtures/dirigible/lib/dirigible/relationships.rb
342
+ - spec/fixtures/dirigible/lib/dirigible/characterization.rb
354
343
  - spec/fixtures/dirigible/lib/dirigible/summarization.rb
355
344
  - spec/fixtures/dirigible/lib/dirigible.rb
345
+ - spec/fixtures/biplane/lib/biplane.rb
346
+ - spec/fixtures/biplane/lib/biplane/carbon_model.rb
347
+ - spec/fixtures/biplane/lib/biplane/data.rb
348
+ - spec/fixtures/biplane/lib/biplane/characterization.rb
349
+ - spec/fixtures/biplane/lib/biplane/summarization.rb
356
350
  - spec/spec_helper.rb
357
351
  has_rdoc: true
358
352
  homepage: http://github.com/brighterplanet/emitter
@@ -368,7 +362,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
368
362
  requirements:
369
363
  - - ">="
370
364
  - !ruby/object:Gem::Version
371
- hash: 3
365
+ hash: -960245647
372
366
  segments:
373
367
  - 0
374
368
  version: "0"
@@ -377,7 +371,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
377
371
  requirements:
378
372
  - - ">="
379
373
  - !ruby/object:Gem::Version
380
- hash: 3
381
374
  segments:
382
375
  - 0
383
376
  version: "0"
@@ -390,17 +383,18 @@ specification_version: 3
390
383
  summary: The mother of all carbon models
391
384
  test_files:
392
385
  - spec/emitter/meta_spec.rb
386
+ - spec/emitter/tasks_spec.rb
393
387
  - spec/emitter_spec.rb
394
- - spec/fixtures/biplane/lib/biplane/carbon_model.rb
395
- - spec/fixtures/biplane/lib/biplane/characterization.rb
396
- - spec/fixtures/biplane/lib/biplane/data.rb
397
- - spec/fixtures/biplane/lib/biplane/summarization.rb
398
- - spec/fixtures/biplane/lib/biplane.rb
388
+ - spec/fixtures/dirigible/lib/dirigible/fallback.rb
399
389
  - spec/fixtures/dirigible/lib/dirigible/carbon_model.rb
400
- - spec/fixtures/dirigible/lib/dirigible/characterization.rb
401
390
  - spec/fixtures/dirigible/lib/dirigible/data.rb
402
- - spec/fixtures/dirigible/lib/dirigible/fallback.rb
403
391
  - spec/fixtures/dirigible/lib/dirigible/relationships.rb
392
+ - spec/fixtures/dirigible/lib/dirigible/characterization.rb
404
393
  - spec/fixtures/dirigible/lib/dirigible/summarization.rb
405
394
  - spec/fixtures/dirigible/lib/dirigible.rb
395
+ - spec/fixtures/biplane/lib/biplane.rb
396
+ - spec/fixtures/biplane/lib/biplane/carbon_model.rb
397
+ - spec/fixtures/biplane/lib/biplane/data.rb
398
+ - spec/fixtures/biplane/lib/biplane/characterization.rb
399
+ - spec/fixtures/biplane/lib/biplane/summarization.rb
406
400
  - spec/spec_helper.rb