pivotal_doc 1.3.0 → 1.4.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/.gitignore +2 -1
- data/.rvmrc +2 -0
- data/Gemfile +15 -0
- data/Gemfile.lock +56 -0
- data/README +12 -8
- data/Rakefile +8 -9
- data/VERSION +1 -1
- data/{ext → lib/pivotal_doc/ext}/date.rb +0 -0
- data/lib/pivotal_doc/generator.rb +19 -14
- data/lib/pivotal_doc/generators/base.rb +2 -2
- data/lib/pivotal_doc/generators/csv.rb +32 -0
- data/lib/pivotal_doc/generators/html.rb +1 -1
- data/lib/pivotal_doc/generators/sprint.rb +18 -0
- data/lib/pivotal_doc/release.rb +5 -19
- data/lib/pivotal_doc/sprint.rb +24 -0
- data/lib/pivotal_doc/work.rb +23 -0
- data/lib/pivotal_doc.rb +20 -7
- data/pivotal_doc.gemspec +96 -60
- data/spec/fixtures/configs.yml +12 -4
- data/spec/lib/configuration_spec.rb +1 -1
- data/spec/lib/ext/date_spec.rb +15 -0
- data/spec/lib/generator_spec.rb +47 -7
- data/spec/lib/generators/base_spec.rb +1 -1
- data/spec/lib/generators/csv_spec.rb +35 -0
- data/spec/lib/generators/html_spec.rb +1 -1
- data/spec/lib/generators/sprint_spec.rb +40 -0
- data/spec/lib/release_spec.rb +1 -1
- data/spec/lib/sprint_spec.rb +44 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +5 -2
- data/templates/{text_gen.txt → output.csv} +0 -0
- data/templates/{html_gen.haml → output.haml} +0 -0
- data/templates/sprint.haml +48 -0
- metadata +155 -26
- data/lib/pivotal_doc/generators/text.rb +0 -12
- data/spec/lib/generators/text_spec.rb +0 -25
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Date do
|
4
|
+
before(:each) do
|
5
|
+
@date= Date.parse('1-1-2010')
|
6
|
+
end
|
7
|
+
|
8
|
+
it "have a standard format" do
|
9
|
+
@date.standard_format.should eql('01-01-2010')
|
10
|
+
end
|
11
|
+
|
12
|
+
it "have a fancy format" do
|
13
|
+
@date.fancy_format.should eql('Jan 01, 2010')
|
14
|
+
end
|
15
|
+
end
|
data/spec/lib/generator_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
3
|
describe PivotalDoc::Generator do
|
4
4
|
before(:each) do
|
@@ -13,29 +13,62 @@ describe PivotalDoc::Generator do
|
|
13
13
|
|
14
14
|
describe "Configuring" do
|
15
15
|
before(:each) do
|
16
|
-
PivotalDoc::Generator.stub!(:collect_releases!)
|
17
|
-
PivotalDoc::Generator.releases= []
|
16
|
+
PivotalDoc::Generator.stub!(:collect_releases!).and_return([])
|
18
17
|
end
|
19
|
-
|
20
18
|
it "should create a config object from the settings" do
|
21
19
|
settings= {}
|
22
|
-
@config.stub!(:authenticate!)
|
23
20
|
PivotalDoc::Configuration.should_receive(:new).with(settings).and_return(@config)
|
21
|
+
@config.stub!(:authenticate!)
|
24
22
|
PivotalDoc::Generator.generate(:html, settings)
|
25
|
-
PivotalDoc::Generator.config.should eql(@config)
|
26
23
|
end
|
27
24
|
|
28
25
|
it "should authenticate against pivotal before generating the release docs" do
|
29
26
|
@config.should_receive(:authenticate!)
|
30
27
|
PivotalDoc::Generator.generate(:html)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe "releases" do
|
32
|
+
before(:each) do
|
33
|
+
@release= mocks_helper(:release)
|
34
|
+
PivotalDoc::Release.stub!(:new).and_return(@release)
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should create a release for each project" do
|
38
|
+
PT::Iteration.stub!(:current).and_return(mocks_helper(:iteration))
|
39
|
+
@config.projects.each do |name, settings|
|
40
|
+
PT::Project.should_receive(:find).with(settings['id'].to_i).and_return(@release.project)
|
41
|
+
end
|
42
|
+
releases= PivotalDoc::Generator.collect_releases!(@config)
|
43
|
+
releases.size.should eql(@config.projects.size)
|
44
|
+
end
|
45
|
+
|
46
|
+
describe "current" do
|
47
|
+
it "create a current iteration for the release if current is set for the project" do
|
48
|
+
PT::Project.stub!(:find).and_return(@release.project)
|
49
|
+
iteration= mocks_helper(:iteration)
|
50
|
+
PT::Iteration.should_receive(:current).exactly(:once).and_return(iteration)
|
51
|
+
PivotalDoc::Generator.collect_releases!(@config)
|
52
|
+
end
|
53
|
+
|
54
|
+
it "create a sprint for the current iteration instead of a release" do
|
55
|
+
PT::Project.stub!(:find).and_return(@release.project)
|
56
|
+
iteration= mocks_helper(:iteration)
|
57
|
+
PT::Iteration.stub!(:current).and_return(iteration)
|
58
|
+
releases= PivotalDoc::Generator.collect_releases!(@config)
|
59
|
+
releases.last.should be_an_instance_of(PivotalDoc::Sprint)
|
60
|
+
end
|
31
61
|
end
|
32
62
|
end
|
33
63
|
|
34
64
|
describe "generation" do
|
35
65
|
before(:each) do
|
36
66
|
@config.stub!(:authenticate!).and_return(true)
|
37
|
-
@release= mocks_helper(:release)
|
67
|
+
@release = mocks_helper(:release)
|
68
|
+
PT::Iteration.stub!(:current).and_return(mocks_helper(:iteration))
|
69
|
+
@sprint = PivotalDoc::Sprint.new(@release.project)
|
38
70
|
PT::Project.stub!(:find).and_return(@release.project)
|
71
|
+
PivotalDoc::Sprint.stub!(:new).and_return(@sprint)
|
39
72
|
PivotalDoc::Release.stub!(:new).and_return(@release)
|
40
73
|
end
|
41
74
|
|
@@ -45,7 +78,14 @@ describe PivotalDoc::Generator do
|
|
45
78
|
@html_gen= PivotalDoc::Generators::HTML.new({})
|
46
79
|
@html_gen.stub!(:render_doc)
|
47
80
|
end
|
81
|
+
it "use the generators format if there is one" do
|
82
|
+
sprint_generator= mock('PivotalDoc::Generators::Sprint')
|
83
|
+
@sprint.generator(:html).should_receive(:new).exactly(:once).with(@sprint, @config.settings).and_return(sprint_generator)
|
84
|
+
sprint_generator.should_receive(:render_doc)
|
85
|
+
PivotalDoc::Generator.generate(:html)
|
86
|
+
end
|
48
87
|
it "should render the release with the specified format and custom settings" do
|
88
|
+
@sprint.generator(:html).stub!(:new).and_return(@html_gen)
|
49
89
|
PivotalDoc::Generators::HTML.should_receive(:new).with(@release, @config.settings).and_return(@html_gen)
|
50
90
|
PivotalDoc::Generator.generate(:html)
|
51
91
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
+
|
3
|
+
describe PivotalDoc::Generators::CSV do
|
4
|
+
before(:each) do
|
5
|
+
@release= mocks_helper(:release)
|
6
|
+
@csv= PivotalDoc::Generators::CSV.new(@release)
|
7
|
+
end
|
8
|
+
|
9
|
+
after(:each) do
|
10
|
+
File.delete(@csv.output_file) if File.exists?(@csv.output_file)
|
11
|
+
end
|
12
|
+
|
13
|
+
describe "Generating CSV" do
|
14
|
+
it "should open the output file and write the csv with columns" do
|
15
|
+
@csv.render_doc
|
16
|
+
output= File.read(@csv.output_file)
|
17
|
+
output.should =~ /#{PivotalDoc::Generators::CSV::COLUMNS.join(',')}/
|
18
|
+
@release.features.each{|f| output =~ @csv.fields(f) }
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should read the file contents" do
|
22
|
+
@csv.template.should be_an_instance_of(String)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should know its template name" do
|
26
|
+
@csv.template_name.should =~ /\.csv$/
|
27
|
+
end
|
28
|
+
|
29
|
+
it "include each field" do
|
30
|
+
fields= @csv.fields(@release.features.first)
|
31
|
+
fields.should be_an_instance_of(Array)
|
32
|
+
fields.should have(PivotalDoc::Generators::CSV::COLUMNS.size).items
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe PivotalDoc::Generators::Sprint do
|
4
|
+
before(:each) do
|
5
|
+
@release= mocks_helper(:release)
|
6
|
+
@sprint= PivotalDoc::Generators::Sprint.new(@release)
|
7
|
+
@engine= Haml::Engine.new('')
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:each) do
|
11
|
+
File.delete(@sprint.output_file) if File.exists?(@sprint.output_file)
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should open the output file and write the compiled haml (html)" do
|
15
|
+
Haml::Engine.stub!(:new).and_return(@engine)
|
16
|
+
@engine.stub!(:render).and_return('compiled haml')
|
17
|
+
@sprint.render_doc
|
18
|
+
File.read(@sprint.output_file).should eql('compiled haml')
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should read the file contents" do
|
22
|
+
@sprint.template.should be_an_instance_of(String)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should use the template_name if specified" do
|
26
|
+
options= {'template_name'=>'fancy.sprint.html'}
|
27
|
+
html= PivotalDoc::Generators::HTML.new(@release, options)
|
28
|
+
html.template_name.should eql(options['template_name'])
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should know its template name" do
|
32
|
+
@sprint.template_name.should =~ /\.haml$/
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should render the release doc" do
|
36
|
+
Haml::Engine.should_receive(:new).with(@sprint.template).and_return(@engine)
|
37
|
+
@engine.should_receive(:render)
|
38
|
+
@sprint.render_doc
|
39
|
+
end
|
40
|
+
end
|
data/spec/lib/release_spec.rb
CHANGED
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe PivotalDoc::Sprint do
|
4
|
+
before(:each) do
|
5
|
+
@project= PT::Project.new
|
6
|
+
@iteration= PT::Iteration.new
|
7
|
+
PT::Iteration.stub!(:current).and_return([@iteration])
|
8
|
+
@sprint= PivotalDoc::Sprint.new(@project)
|
9
|
+
end
|
10
|
+
|
11
|
+
it "not have a release name" do
|
12
|
+
@sprint.name.should be_nil
|
13
|
+
end
|
14
|
+
|
15
|
+
it "know the html generator" do
|
16
|
+
@sprint.generator(:html).should eql(PivotalDoc::Generators::Sprint)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "only know the html generator" do
|
20
|
+
@sprint.generator(:unknown).should be_nil
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "stories" do
|
24
|
+
before(:each) do
|
25
|
+
@stories= PTApiHelpers::mock_stories
|
26
|
+
@sprint.iteration.stub!(:stories).and_return(@stories)
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should get the stories only" do
|
30
|
+
@sprint.iteration.should_receive(:stories).and_return(@stories)
|
31
|
+
@sprint.stories.each{|s| s.story_type.downcase.should eql('feature') }
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should get the bugs only" do
|
35
|
+
@sprint.iteration.should_receive(:stories).and_return(@stories)
|
36
|
+
@sprint.bugs.each{|b| b.story_type.downcase.should eql('bug') }
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should get the chores only" do
|
40
|
+
@sprint.iteration.should_receive(:stories).and_return(@stories)
|
41
|
+
@sprint.chores.each{|c| c.story_type.downcase.should eql('chore') }
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/spec/spec.opts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/spec/spec_helper.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
Bundler.require(:default, :test)
|
4
|
+
|
1
5
|
require File.join(File.dirname(__FILE__), '../lib/pivotal_doc.rb')
|
2
6
|
Dir[File.expand_path(File.join(File.dirname(__FILE__),'support','**','*.rb'))].each {|f| require f}
|
3
7
|
|
4
|
-
|
8
|
+
RSpec.configure do |config|
|
5
9
|
config.include MocksHelper
|
6
10
|
end
|
7
|
-
|
File without changes
|
File without changes
|
@@ -0,0 +1,48 @@
|
|
1
|
+
!!! Strict
|
2
|
+
%html
|
3
|
+
%head
|
4
|
+
%meta{'http-equiv' => 'Content-Type', :content => 'text/html;charset=utf-8'}
|
5
|
+
%title= sprint.iteration.start.fancy_format
|
6
|
+
%style{:type => "text/css", :media => "screen"}
|
7
|
+
:plain
|
8
|
+
p,div,h1,h2,h3,h4,h5,h6,span,a {font-family: Arial}
|
9
|
+
div#sprint_doc {padding-left: .5em;}
|
10
|
+
h2, h3 {padding: .5em 0;}
|
11
|
+
h3 {text-decoration: underline;}
|
12
|
+
div#sprint_doc {
|
13
|
+
width: 80%;
|
14
|
+
margin-left: auto;
|
15
|
+
margin-right: auto;
|
16
|
+
text-align: left;
|
17
|
+
}
|
18
|
+
div#chores, div#bugs, div#stories{ padding-left: 0.6em }
|
19
|
+
div.item {padding-left: .4em}
|
20
|
+
div.item_info {padding-left: .4em}
|
21
|
+
%body
|
22
|
+
#sprint_doc
|
23
|
+
#sprint_info
|
24
|
+
%h2= "This sprint begins on #{sprint.iteration.start.fancy_format} and ends on #{sprint.iteration.finish.fancy_format}."
|
25
|
+
#stories
|
26
|
+
%h3 Proposed Stories
|
27
|
+
- sprint.stories.each do |story|
|
28
|
+
.item
|
29
|
+
%h4= "Story ##{story.id} - #{story.name}"
|
30
|
+
.item_info
|
31
|
+
%p= "Requestor: #{story.requested_by}"
|
32
|
+
%p= "Description: #{story.description}"
|
33
|
+
#bugs
|
34
|
+
%h3 Bug Fixes
|
35
|
+
- sprint.bugs.each do |bug|
|
36
|
+
.item
|
37
|
+
%h4= "Bug ##{bug.id} - #{bug.name}"
|
38
|
+
.item_info
|
39
|
+
%p= "Requestor: #{bug.requested_by}"
|
40
|
+
%p= "Description: #{bug.description}"
|
41
|
+
#chores
|
42
|
+
%h3 Miscellaneous Chores
|
43
|
+
- sprint.chores.each do |chore|
|
44
|
+
.item
|
45
|
+
%h4= "Chore ##{chore.id} - #{chore.name}"
|
46
|
+
.item_info
|
47
|
+
%p= "Requestor: #{chore.requested_by}"
|
48
|
+
%p= "Description: #{chore.description}"
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pivotal_doc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 7
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
-
|
8
|
+
- 4
|
9
9
|
- 0
|
10
|
-
version: 1.
|
10
|
+
version: 1.4.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Tim Linquist
|
@@ -15,28 +15,25 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-02-28 00:00:00 -08:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
-
|
23
|
-
prerelease: false
|
22
|
+
type: :runtime
|
24
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
24
|
none: false
|
26
25
|
requirements:
|
27
26
|
- - ">="
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
28
|
+
hash: 3
|
30
29
|
segments:
|
31
30
|
- 0
|
32
|
-
|
33
|
-
|
34
|
-
version: 0.2.1
|
35
|
-
type: :runtime
|
31
|
+
version: "0"
|
32
|
+
name: fastercsv
|
36
33
|
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: haml
|
39
34
|
prerelease: false
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
type: :runtime
|
40
37
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
38
|
none: false
|
42
39
|
requirements:
|
@@ -46,12 +43,55 @@ dependencies:
|
|
46
43
|
segments:
|
47
44
|
- 0
|
48
45
|
version: "0"
|
49
|
-
|
46
|
+
name: rake
|
50
47
|
version_requirements: *id002
|
48
|
+
prerelease: false
|
51
49
|
- !ruby/object:Gem::Dependency
|
50
|
+
type: :development
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
hash: 3
|
57
|
+
segments:
|
58
|
+
- 0
|
59
|
+
version: "0"
|
60
|
+
name: jeweler
|
61
|
+
version_requirements: *id003
|
62
|
+
prerelease: false
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
type: :development
|
65
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ~>
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
hash: 3
|
71
|
+
segments:
|
72
|
+
- 2
|
73
|
+
- 0
|
74
|
+
version: "2.0"
|
52
75
|
name: rspec
|
76
|
+
version_requirements: *id004
|
53
77
|
prerelease: false
|
54
|
-
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
type: :development
|
80
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
hash: 3
|
86
|
+
segments:
|
87
|
+
- 0
|
88
|
+
version: "0"
|
89
|
+
name: pivotal-tracker
|
90
|
+
version_requirements: *id005
|
91
|
+
prerelease: false
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
type: :development
|
94
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
55
95
|
none: false
|
56
96
|
requirements:
|
57
97
|
- - ">="
|
@@ -60,8 +100,83 @@ dependencies:
|
|
60
100
|
segments:
|
61
101
|
- 0
|
62
102
|
version: "0"
|
103
|
+
name: haml
|
104
|
+
version_requirements: *id006
|
105
|
+
prerelease: false
|
106
|
+
- !ruby/object:Gem::Dependency
|
63
107
|
type: :development
|
64
|
-
|
108
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
109
|
+
none: false
|
110
|
+
requirements:
|
111
|
+
- - "="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
hash: 31
|
114
|
+
segments:
|
115
|
+
- 1
|
116
|
+
- 3
|
117
|
+
- 2
|
118
|
+
version: 1.3.2
|
119
|
+
name: factory_girl
|
120
|
+
version_requirements: *id007
|
121
|
+
prerelease: false
|
122
|
+
- !ruby/object:Gem::Dependency
|
123
|
+
type: :development
|
124
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
125
|
+
none: false
|
126
|
+
requirements:
|
127
|
+
- - ">="
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
hash: 3
|
130
|
+
segments:
|
131
|
+
- 0
|
132
|
+
version: "0"
|
133
|
+
name: ruby-debug
|
134
|
+
version_requirements: *id008
|
135
|
+
prerelease: false
|
136
|
+
- !ruby/object:Gem::Dependency
|
137
|
+
type: :runtime
|
138
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
140
|
+
requirements:
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
hash: 21
|
144
|
+
segments:
|
145
|
+
- 0
|
146
|
+
- 2
|
147
|
+
- 1
|
148
|
+
version: 0.2.1
|
149
|
+
name: pivotal-tracker
|
150
|
+
version_requirements: *id009
|
151
|
+
prerelease: false
|
152
|
+
- !ruby/object:Gem::Dependency
|
153
|
+
type: :runtime
|
154
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
155
|
+
none: false
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
hash: 3
|
160
|
+
segments:
|
161
|
+
- 0
|
162
|
+
version: "0"
|
163
|
+
name: haml
|
164
|
+
version_requirements: *id010
|
165
|
+
prerelease: false
|
166
|
+
- !ruby/object:Gem::Dependency
|
167
|
+
type: :development
|
168
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
hash: 3
|
174
|
+
segments:
|
175
|
+
- 0
|
176
|
+
version: "0"
|
177
|
+
name: rspec
|
178
|
+
version_requirements: *id011
|
179
|
+
prerelease: false
|
65
180
|
description: "\n Automated release notes for apps hosted on pivotaltracker.com. \n Allows release notes to be generated for any project on pivotaltracker.com by retrieving the latest iteration for the specified project and displaying the completed features, bugs, and chores.\n "
|
66
181
|
email: tim.linquist@gmail.com
|
67
182
|
executables: []
|
@@ -72,6 +187,9 @@ extra_rdoc_files:
|
|
72
187
|
- README
|
73
188
|
files:
|
74
189
|
- .gitignore
|
190
|
+
- .rvmrc
|
191
|
+
- Gemfile
|
192
|
+
- Gemfile.lock
|
75
193
|
- README
|
76
194
|
- Rakefile
|
77
195
|
- VERSION
|
@@ -92,39 +210,47 @@ files:
|
|
92
210
|
- assets/css/ui-lightness/jquery-ui-1.8.5.custom.css
|
93
211
|
- assets/js/jquery-1.4.2.min.js
|
94
212
|
- assets/js/jquery-ui-1.8.5.custom.min.js
|
95
|
-
- ext/date.rb
|
96
213
|
- lib/pivotal_doc.rb
|
97
214
|
- lib/pivotal_doc/configuration.rb
|
98
215
|
- lib/pivotal_doc/exceptions.rb
|
216
|
+
- lib/pivotal_doc/ext/date.rb
|
99
217
|
- lib/pivotal_doc/generator.rb
|
100
218
|
- lib/pivotal_doc/generators/base.rb
|
219
|
+
- lib/pivotal_doc/generators/csv.rb
|
101
220
|
- lib/pivotal_doc/generators/html.rb
|
102
|
-
- lib/pivotal_doc/generators/
|
221
|
+
- lib/pivotal_doc/generators/sprint.rb
|
103
222
|
- lib/pivotal_doc/release.rb
|
223
|
+
- lib/pivotal_doc/sprint.rb
|
224
|
+
- lib/pivotal_doc/work.rb
|
104
225
|
- pivotal_doc.gemspec
|
105
226
|
- spec/fixtures/configs.yml
|
106
227
|
- spec/fixtures/iterations.yml
|
107
228
|
- spec/fixtures/projects.yml
|
108
229
|
- spec/fixtures/stories.yml
|
109
230
|
- spec/lib/configuration_spec.rb
|
231
|
+
- spec/lib/ext/date_spec.rb
|
110
232
|
- spec/lib/generator_spec.rb
|
111
233
|
- spec/lib/generators/base_spec.rb
|
234
|
+
- spec/lib/generators/csv_spec.rb
|
112
235
|
- spec/lib/generators/html_spec.rb
|
113
|
-
- spec/lib/generators/
|
236
|
+
- spec/lib/generators/sprint_spec.rb
|
114
237
|
- spec/lib/release_spec.rb
|
238
|
+
- spec/lib/sprint_spec.rb
|
239
|
+
- spec/spec.opts
|
115
240
|
- spec/spec_helper.rb
|
116
241
|
- spec/support/mocks_helper.rb
|
117
242
|
- spec/support/pt_api_helpers.rb
|
118
243
|
- templates/fancy.haml
|
119
|
-
- templates/
|
120
|
-
- templates/
|
244
|
+
- templates/output.csv
|
245
|
+
- templates/output.haml
|
246
|
+
- templates/sprint.haml
|
121
247
|
has_rdoc: true
|
122
248
|
homepage: http://github.com/timo3377/pivotal_doc
|
123
249
|
licenses: []
|
124
250
|
|
125
251
|
post_install_message:
|
126
|
-
rdoc_options:
|
127
|
-
|
252
|
+
rdoc_options: []
|
253
|
+
|
128
254
|
require_paths:
|
129
255
|
- lib
|
130
256
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -148,17 +274,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
148
274
|
requirements: []
|
149
275
|
|
150
276
|
rubyforge_project:
|
151
|
-
rubygems_version: 1.3
|
277
|
+
rubygems_version: 1.5.3
|
152
278
|
signing_key:
|
153
279
|
specification_version: 3
|
154
280
|
summary: A release documentation generator for pivotaltracker.com
|
155
281
|
test_files:
|
156
282
|
- spec/lib/configuration_spec.rb
|
283
|
+
- spec/lib/ext/date_spec.rb
|
157
284
|
- spec/lib/generator_spec.rb
|
158
285
|
- spec/lib/generators/base_spec.rb
|
286
|
+
- spec/lib/generators/csv_spec.rb
|
159
287
|
- spec/lib/generators/html_spec.rb
|
160
|
-
- spec/lib/generators/
|
288
|
+
- spec/lib/generators/sprint_spec.rb
|
161
289
|
- spec/lib/release_spec.rb
|
290
|
+
- spec/lib/sprint_spec.rb
|
162
291
|
- spec/spec_helper.rb
|
163
292
|
- spec/support/mocks_helper.rb
|
164
293
|
- spec/support/pt_api_helpers.rb
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
-
|
3
|
-
describe PivotalDoc::Generators::Text do
|
4
|
-
before(:each) do
|
5
|
-
@text= PivotalDoc::Generators::Text.new(mocks_helper(:release))
|
6
|
-
end
|
7
|
-
|
8
|
-
after(:each) do
|
9
|
-
File.delete(@text.output_file) if File.exists?(@text.output_file)
|
10
|
-
end
|
11
|
-
|
12
|
-
it "should render the text and write to the output file" do
|
13
|
-
@text.should_receive(:output).and_return('my_text')
|
14
|
-
@text.render_doc
|
15
|
-
File.read(@text.output_file).should eql('my_text')
|
16
|
-
end
|
17
|
-
|
18
|
-
it "should read the file contents" do
|
19
|
-
@text.template.should be_an_instance_of(String)
|
20
|
-
end
|
21
|
-
|
22
|
-
it "should know its tempalte name" do
|
23
|
-
@text.template_name.should =~ /\.txt$/
|
24
|
-
end
|
25
|
-
end
|