emitter 0.1.13 → 0.1.14

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/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