pivotal_to_pdf 0.8.2 → 0.9

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/CHANGELOG CHANGED
@@ -1,3 +1,6 @@
1
+ v0.9
2
+ * Added printing support for bold and italic fonts
3
+ * removed page number. Did not find it really useful
1
4
  v0.8.2
2
5
  * Used activeresource 3.0.9. 3.1.0 broke the pivotal API, it seems
3
6
  v0.8
data/Manifest CHANGED
@@ -9,7 +9,9 @@ lib/pivotal_to_pdf.rb
9
9
  lib/pivotal_to_pdf/iteration.rb
10
10
  lib/pivotal_to_pdf/pdf_writer.rb
11
11
  lib/pivotal_to_pdf/pivotal.rb
12
+ lib/pivotal_to_pdf/simple_text_formatter.rb
12
13
  lib/pivotal_to_pdf/story.rb
14
+ spec/pivotal_to_pdf/simple_text_formatter_spec.rb
13
15
  spec/pivotal_to_pdf/story_spec.rb
14
16
  spec/pivotal_to_pdf_bin_spec.rb
15
17
  spec/spec_helper.rb
data/bin/pivotal_to_pdf CHANGED
@@ -7,13 +7,13 @@ class PivotalToPdfApp < Thor
7
7
  desc "story STORY_ID", "print a single story specifed by ID into a PDF file. The card will have a color stripe. The color will be green for features, yellow for chores and red for bugs"
8
8
  method_option :nocolor, :aliases => "-nc", :desc => "Make the card having no color stripe"
9
9
  def story(story_id)
10
- PivotalToPdf.story story_id, options[:nocolor]
10
+ PivotalToPdf::Main.story story_id, options[:nocolor]
11
11
  end
12
12
 
13
13
  desc "iteration", "print stories for the current iteration into a PDF file"
14
14
  method_option :nocolor, :aliases => "-nc", :desc => "Make the card having no color stripe"
15
15
  def iteration(iteration_number = "current")
16
- PivotalToPdf.iteration iteration_number, options[:nocolor]
16
+ PivotalToPdf::Main.iteration iteration_number, options[:nocolor]
17
17
  end
18
18
  end
19
19
 
@@ -1,3 +1,5 @@
1
- class Iteration < Pivotal
2
-
1
+ module PivotalToPdf
2
+ class Iteration < Pivotal
3
+
4
+ end
3
5
  end
@@ -4,57 +4,59 @@ require 'rubygems'
4
4
  require 'prawn'
5
5
  require 'rainbow'
6
6
 
7
- class PdfWriter
8
- attr_reader :story_or_iteration, :stories
9
- def initialize(story_or_iteration, colored_stripe = true)
10
- @story_or_iteration = story_or_iteration
11
- @stories = story_or_iteration.is_a?(Iteration) ? story_or_iteration.stories : [story_or_iteration]
12
- p stories.size
13
- end
14
-
15
- def write_to
16
- Prawn::Document.generate("#{story_or_iteration.id}.pdf",
17
- :page_layout => :landscape,
18
- :margin => [25, 25, 50, 25],
19
- :page_size => [302, 432]) do |pdf|
20
-
21
- pdf.font "#{Prawn::BASEDIR}/data/fonts/DejaVuSans.ttf"
22
- # pdf.start_new_page
23
-
24
- stories.each_with_index do |story, index|
25
- padding = 10
26
- pdf.stroke_color = story.story_color
27
- pdf.stroke_bounds
28
- width = 370
29
- pdf.line_width=6
30
- # --- Write content
31
- pdf.bounding_box [pdf.bounds.left+padding, pdf.bounds.top-padding], :width => width do
32
- pdf.text story.name, :size => 14
33
- pdf.fill_color "52D017"
34
- pdf.text story.label_text, :size => 8
35
- pdf.text "\n", :size => 14
36
- pdf.fill_color "444444"
37
- pdf.text story.description || "", :size => 10
7
+ module PivotalToPdf
8
+ class PdfWriter
9
+ attr_reader :story_or_iteration, :stories
10
+ def initialize(story_or_iteration, colored_stripe = true)
11
+ @story_or_iteration = story_or_iteration
12
+ @stories = story_or_iteration.is_a?(Iteration) ? story_or_iteration.stories : [story_or_iteration]
13
+ p stories.size
14
+ end
15
+
16
+ def write_to
17
+ Prawn::Document.generate("#{story_or_iteration.id}.pdf",
18
+ :page_layout => :landscape,
19
+ :margin => [25, 25, 50, 25],
20
+ :page_size => [302, 432]) do |pdf|
21
+
22
+ # pdf.font "#{Prawn::BASEDIR}/data/fonts/DejaVuSans.ttf"
23
+ # pdf.start_new_page
24
+
25
+ stories.each_with_index do |story, index|
26
+ padding = 10
27
+ pdf.stroke_color = story.story_color
28
+ pdf.stroke_bounds
29
+ width = 370
30
+ pdf.line_width=6
31
+ # --- Write content
32
+ pdf.bounding_box [pdf.bounds.left+padding, pdf.bounds.top-padding], :width => width do
33
+ pdf.text story.formatted_name, :size => 14, :inline_format => true
34
+ pdf.fill_color "52D017"
35
+ pdf.text story.label_text, :size => 8
36
+ pdf.text "\n", :size => 14
37
+ pdf.fill_color "444444"
38
+ pdf.text story.formatted_description || "", :size => 10, :inline_format => true
39
+ pdf.fill_color "000000"
40
+ end
41
+ pdf.line(pdf.bounds.bottom_left, pdf.bounds.bottom_right)
42
+ pdf.stroke_bounds
43
+
44
+ pdf.text_box story.points, :size => 12, :at => [12, 50], :width => width-18 unless story.points.nil?
45
+ pdf.text_box "Owner: " + (story.respond_to?(:owned_by) ? story.owned_by : "None"),
46
+ :size => 8, :at => [12, 18], :width => width-18
47
+
48
+ pdf.fill_color "999999"
49
+ pdf.text_box story.story_type.capitalize, :size => 8, :align => :right, :at => [12, 18], :width => width-18
38
50
  pdf.fill_color "000000"
51
+ pdf.start_new_page unless index == stories.size - 1
39
52
  end
40
- pdf.line(pdf.bounds.bottom_left, pdf.bounds.bottom_right)
41
- pdf.stroke_bounds
42
-
43
- pdf.text_box story.points, :size => 12, :at => [12, 50], :width => width-18 unless story.points.nil?
44
- pdf.text_box "Owner: " + (story.respond_to?(:owned_by) ? story.owned_by : "None"),
45
- :size => 8, :at => [12, 18], :width => width-18
46
-
47
- pdf.fill_color "999999"
48
- pdf.text_box story.story_type.capitalize, :size => 8, :align => :right, :at => [12, 18], :width => width-18
49
- pdf.fill_color "000000"
50
- pdf.start_new_page unless index == stories.size - 1
51
- end
52
- pdf.number_pages "<page>/<total>", {:at => [pdf.bounds.right - 16, -28]}
53
-
54
- puts ">>> Generated PDF file in '#{story_or_iteration.id}.pdf'".foreground(:green)
55
- end
56
- rescue Exception
57
- puts "[!] There was an error while generating the PDF file... What happened was:".foreground(:red)
58
- raise
53
+ # pdf.number_pages "<page>/<total>", {:at => [pdf.bounds.right - 16, -28]}
54
+
55
+ puts ">>> Generated PDF file in '#{story_or_iteration.id}.pdf'".foreground(:green)
56
+ end
57
+ rescue Exception
58
+ puts "[!] There was an error while generating the PDF file... What happened was:".foreground(:red)
59
+ raise
60
+ end
59
61
  end
60
62
  end
@@ -1,9 +1,11 @@
1
- class Pivotal < ActiveResource::Base
2
- def self.inherited(sub)
3
- base_dir = ENV["PIVOTAL_TO_PDF_CONFIG_DIR"] || "~"
4
- info = YAML.load_file File.expand_path("#{base_dir}/.pivotal.yml")
5
- sub.site = %Q|https://www.pivotaltracker.com/services/v3/projects/#{info['project_id']}|
6
- sub.headers['X-TrackerToken'] = info["token"]
7
- end
1
+ module PivotalToPdf
2
+ class Pivotal < ActiveResource::Base
3
+ def self.inherited(sub)
4
+ base_dir = ENV["PIVOTAL_TO_PDF_CONFIG_DIR"] || "~"
5
+ info = YAML.load_file File.expand_path("#{base_dir}/.pivotal.yml")
6
+ sub.site = %Q|https://www.pivotaltracker.com/services/v3/projects/#{info['project_id']}|
7
+ sub.headers['X-TrackerToken'] = info["token"]
8
+ end
8
9
 
10
+ end
9
11
  end
@@ -0,0 +1,13 @@
1
+ module PivotalToPdf
2
+ class SimpleTextFormatter
3
+ attr_reader :string
4
+ private :string
5
+ def initialize(string)
6
+ @string = string
7
+ end
8
+
9
+ def output
10
+ string.gsub( /\*(.*)\*/,"<b>\\1</b>").gsub(/_(.*)_/, "<i>\\1</i>")
11
+ end
12
+ end
13
+ end
@@ -1,28 +1,42 @@
1
- class Story < Pivotal
2
- def label_text
3
- return "" if !self.respond_to?(:labels) || self.labels.nil? || self.labels.empty?
4
- labels
5
- end
1
+ module PivotalToPdf
2
+ class Story < Pivotal
3
+ def label_text
4
+ return "" if !self.respond_to?(:labels) || self.labels.nil? || self.labels.empty?
5
+ labels
6
+ end
6
7
 
7
- def points
8
- return nil unless self.feature?
9
- "Points: " + (self.respond_to?(:estimate) && !self.estimate.eql?(-1) ? self.estimate.to_s : "Not yet estimated")
10
- end
8
+ def points
9
+ return nil unless self.feature?
10
+ "Points: " + (self.respond_to?(:estimate) && !self.estimate.eql?(-1) ? self.estimate.to_s : "Not yet estimated")
11
+ end
11
12
 
12
- def story_color
13
- return "52D017" if feature?
14
- return "FF0000" if bug?
15
- return "FFFF00" if chore?
16
- return "000000" # For Releases or Unknown type
17
- end
13
+ def story_color
14
+ return "52D017" if feature?
15
+ return "FF0000" if bug?
16
+ return "FFFF00" if chore?
17
+ return "000000" # For Releases or Unknown type
18
+ end
18
19
 
19
- private
20
+ def formatted_name
21
+ formatted_output :name
22
+ end
20
23
 
21
- ["feature", "bug", "chore", "release"].each do |type_str|
22
- class_eval <<-EOS
24
+ def formatted_description
25
+ formatted_output :description
26
+ end
27
+
28
+ private
29
+
30
+ def formatted_output(field)
31
+ SimpleTextFormatter.new(send(field)).output
32
+ end
33
+
34
+ ["feature", "bug", "chore", "release"].each do |type_str|
35
+ class_eval <<-EOS
23
36
  def #{type_str}?
24
37
  self.story_type == "#{type_str}"
25
38
  end
26
- EOS
39
+ EOS
40
+ end
27
41
  end
28
42
  end
@@ -2,20 +2,23 @@ require 'rubygems'
2
2
  require 'rainbow'
3
3
  require 'thor'
4
4
  require 'active_resource'
5
+ require 'pivotal_to_pdf/simple_text_formatter'
5
6
  require 'pivotal_to_pdf/pivotal'
6
7
  require 'pivotal_to_pdf/iteration'
7
8
  require 'pivotal_to_pdf/story'
8
9
  require 'pivotal_to_pdf/pdf_writer'
9
- class PivotalToPdf < Thor
10
- class << self
11
- def story(story_id, colored_stripe=true)
12
- story = Story.find(story_id)
13
- PdfWriter.new(story, colored_stripe).write_to
14
- end
10
+ module PivotalToPdf
11
+ class Main < Thor
12
+ class << self
13
+ def story(story_id, colored_stripe=true)
14
+ story = Story.find(story_id)
15
+ PivotalToPdf::PdfWriter.new(story, colored_stripe).write_to
16
+ end
15
17
 
16
- def iteration(iteration_token, colored_stripe=true)
17
- iteration = Iteration.find(:all, :params => {:group => iteration_token}).first
18
- PdfWriter.new(iteration, colored_stripe).write_to
18
+ def iteration(iteration_token, colored_stripe=true)
19
+ iteration = Iteration.find(:all, :params => {:group => iteration_token}).first
20
+ PivotalToPdf::PdfWriter.new(iteration, colored_stripe).write_to
21
+ end
19
22
  end
20
23
  end
21
24
  end
@@ -2,22 +2,22 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{pivotal_to_pdf}
5
- s.version = "0.8.2"
5
+ s.version = "0.9"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Yi Wen"]
9
- s.date = %q{2011-09-01}
9
+ s.date = %q{2011-10-30}
10
10
  s.default_executable = %q{pivotal_to_pdf}
11
11
  s.description = %q{Convert Pivotal Tracker Stories to 4x6 PDF for printing so that you can stick the card to your story board}
12
12
  s.email = %q{hayafirst@gmail.com}
13
13
  s.executables = ["pivotal_to_pdf"]
14
- s.extra_rdoc_files = ["CHANGELOG", "README.md", "bin/pivotal_to_pdf", "lib/pivotal_to_pdf.rb", "lib/pivotal_to_pdf/iteration.rb", "lib/pivotal_to_pdf/pdf_writer.rb", "lib/pivotal_to_pdf/pivotal.rb", "lib/pivotal_to_pdf/story.rb", "tasks/spec.rb"]
15
- s.files = ["CHANGELOG", "Gemfile", "Gemfile.lock", "Manifest", "README.md", "Rakefile", "bin/pivotal_to_pdf", "lib/pivotal_to_pdf.rb", "lib/pivotal_to_pdf/iteration.rb", "lib/pivotal_to_pdf/pdf_writer.rb", "lib/pivotal_to_pdf/pivotal.rb", "lib/pivotal_to_pdf/story.rb", "spec/pivotal_to_pdf/story_spec.rb", "spec/pivotal_to_pdf_bin_spec.rb", "spec/spec_helper.rb", "tasks/spec.rb", "pivotal_to_pdf.gemspec"]
14
+ s.extra_rdoc_files = ["CHANGELOG", "README.md", "bin/pivotal_to_pdf", "lib/pivotal_to_pdf.rb", "lib/pivotal_to_pdf/iteration.rb", "lib/pivotal_to_pdf/pdf_writer.rb", "lib/pivotal_to_pdf/pivotal.rb", "lib/pivotal_to_pdf/simple_text_formatter.rb", "lib/pivotal_to_pdf/story.rb", "tasks/spec.rb"]
15
+ s.files = ["CHANGELOG", "Gemfile", "Gemfile.lock", "Manifest", "README.md", "Rakefile", "bin/pivotal_to_pdf", "lib/pivotal_to_pdf.rb", "lib/pivotal_to_pdf/iteration.rb", "lib/pivotal_to_pdf/pdf_writer.rb", "lib/pivotal_to_pdf/pivotal.rb", "lib/pivotal_to_pdf/simple_text_formatter.rb", "lib/pivotal_to_pdf/story.rb", "spec/pivotal_to_pdf/simple_text_formatter_spec.rb", "spec/pivotal_to_pdf/story_spec.rb", "spec/pivotal_to_pdf_bin_spec.rb", "spec/spec_helper.rb", "tasks/spec.rb", "pivotal_to_pdf.gemspec"]
16
16
  s.homepage = %q{https://github.com/ywen/pivotal_to_pdf}
17
17
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Pivotal_to_pdf", "--main", "README.md"]
18
18
  s.require_paths = ["lib"]
19
19
  s.rubyforge_project = %q{pivotal_to_pdf}
20
- s.rubygems_version = %q{1.4.0}
20
+ s.rubygems_version = %q{1.4.2}
21
21
  s.summary = %q{Convert Pivotal Tracker Stories to 4x6 PDF for printing}
22
22
 
23
23
  if s.respond_to? :specification_version then
@@ -0,0 +1,26 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper"))
2
+
3
+ module PivotalToPdf
4
+ describe SimpleTextFormatter do
5
+ subject {SimpleTextFormatter.new "a text"}
6
+ describe "#output" do
7
+ context "when there is no special formatting" do
8
+ it "should return the string" do
9
+ subject.output.should == "a text"
10
+ end
11
+ end
12
+ context "when there is bold special formatting" do
13
+ it "should return the string converted" do
14
+ formatter = SimpleTextFormatter.new "a *special test* text"
15
+ formatter.output.should == "a <b>special test</b> text"
16
+ end
17
+ end
18
+ context "when there is italic special formatting" do
19
+ it "should return the string converted" do
20
+ formatter = SimpleTextFormatter.new "a _special test_ text"
21
+ formatter.output.should == "a <i>special test</i> text"
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -1,94 +1,114 @@
1
1
  require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper"))
2
2
 
3
- describe Story do
4
- let(:story){Story.new :labels => [], :story_type => nil}
5
- describe "#label_text" do
6
- describe "and there is no label" do
7
- it "should return blank string" do
8
- story = Story.new
9
- story.label_text.should == ""
3
+ module PivotalToPdf
4
+ describe Story do
5
+ subject {Story.new :labels => [], :story_type => nil, :name => "a name"}
6
+ let(:formatter) {double :formatter, :output => nil}
7
+ describe "#label_text" do
8
+ describe "and there is no label" do
9
+ it "should return blank string" do
10
+ story = Story.new
11
+ story.label_text.should == ""
12
+ end
10
13
  end
11
- end
12
- describe "and labels is empty" do
13
- it "should return blank string" do
14
- story.label_text.should == ""
14
+ describe "and labels is empty" do
15
+ it "should return blank string" do
16
+ subject.label_text.should == ""
17
+ end
15
18
  end
16
- end
17
- describe "and labels is nil" do
18
- it "should return blank string" do
19
- story.labels = nil
20
- story.label_text.should == ""
19
+ describe "and labels is nil" do
20
+ it "should return blank string" do
21
+ subject.labels = nil
22
+ subject.label_text.should == ""
23
+ end
21
24
  end
22
- end
23
25
 
24
- describe "and when there are less than 3 labels" do
25
- it "should return them in a nice format" do
26
- story.labels="test1, test2"
27
- story.label_text.should == "test1, test2"
26
+ describe "and when there are less than 3 labels" do
27
+ it "should return them in a nice format" do
28
+ subject.labels="test1, test2"
29
+ subject.label_text.should == "test1, test2"
30
+ end
28
31
  end
29
32
  end
30
- end
31
33
 
32
- describe "#points" do
33
- describe "and the story is a bug" do
34
- before(:each) do
35
- story.story_type = "bug"
36
- end
37
- it "should return nil" do
38
- story.points.should be_nil
34
+ describe "#formatted_name" do
35
+ it "should ask the text formatter format the name" do
36
+ SimpleTextFormatter.should_receive(:new).with("a name").and_return formatter
37
+ formatter.should_receive(:output).and_return "new name"
38
+ subject.formatted_name.should == "new name"
39
39
  end
40
40
  end
41
- describe "and the story is a release" do
42
- before(:each) do
43
- story.story_type = "release"
44
- end
45
- it "should return nil" do
46
- story.points.should be_nil
41
+
42
+ describe "#formatted_description" do
43
+ it "should ask the text formatter format the description" do
44
+ subject.description = "a description"
45
+ SimpleTextFormatter.should_receive(:new).with("a description").and_return formatter
46
+ formatter.should_receive(:output).and_return "new desc"
47
+ subject.formatted_description.should == "new desc"
47
48
  end
48
49
  end
49
- describe "and the story is a feature" do
50
- before(:each) do
51
- story.story_type = "feature"
50
+
51
+ describe "#points" do
52
+ describe "and the story is a bug" do
53
+ before(:each) do
54
+ subject.story_type = "bug"
55
+ end
56
+ it "should return nil" do
57
+ subject.points.should be_nil
58
+ end
52
59
  end
53
- describe "and the story is not respond_to estimate" do
54
- it "should return Not yet estimated" do
55
- story.points.should == "Points: Not yet estimated"
60
+ describe "and the story is a release" do
61
+ before(:each) do
62
+ subject.story_type = "release"
63
+ end
64
+ it "should return nil" do
65
+ subject.points.should be_nil
56
66
  end
57
67
  end
58
-
59
- describe "and the story is respond_to estimate" do
60
- let(:story) {Story.new :story_type => "feature", :estimate => -1}
61
- describe "and the estimate is -1" do
62
- it "should return not yet estimated" do
63
- story.points.should == "Points: Not yet estimated"
68
+ describe "and the story is a feature" do
69
+ before(:each) do
70
+ subject.story_type = "feature"
71
+ end
72
+ describe "and the story is not respond_to estimate" do
73
+ it "should return Not yet estimated" do
74
+ subject.points.should == "Points: Not yet estimated"
64
75
  end
65
76
  end
66
- describe "and the estimate is not -1" do
67
- it "should return the points" do
68
- story.estimate = 5
69
- story.points.should == "Points: 5"
77
+
78
+ describe "and the story is respond_to estimate" do
79
+ let(:story) {Story.new :story_type => "feature", :estimate => -1}
80
+ describe "and the estimate is -1" do
81
+ it "should return not yet estimated" do
82
+ subject.points.should == "Points: Not yet estimated"
83
+ end
84
+ end
85
+ describe "and the estimate is not -1" do
86
+ it "should return the points" do
87
+ subject.estimate = 5
88
+ subject.points.should == "Points: 5"
89
+ end
70
90
  end
71
91
  end
72
92
  end
73
93
  end
74
- end
75
94
 
76
- describe "#story_color" do
77
- it "should return green for features" do
78
- story.story_type = "feature"
79
- story.story_color.should == "52D017"
80
- end
81
- it "should return red for bugs" do
82
- story.story_type = "bug"
83
- story.story_color.should == "FF0000"
84
- end
85
- it "should return yellow for chores" do
86
- story.story_type = "chore"
87
- story.story_color.should == "FFFF00"
88
- end
89
- it "should return black for releases" do
90
- story.story_type = "release"
91
- story.story_color.should == "000000"
95
+ describe "#story_color" do
96
+ it "should return green for features" do
97
+ subject.story_type = "feature"
98
+ subject.story_color.should == "52D017"
99
+ end
100
+ it "should return red for bugs" do
101
+ subject.story_type = "bug"
102
+ subject.story_color.should == "FF0000"
103
+ end
104
+ it "should return yellow for chores" do
105
+ subject.story_type = "chore"
106
+ subject.story_color.should == "FFFF00"
107
+ end
108
+ it "should return black for releases" do
109
+ subject.story_type = "release"
110
+ subject.story_color.should == "000000"
111
+ end
92
112
  end
93
113
  end
94
114
  end
@@ -4,30 +4,30 @@ load File.expand_path(File.join(File.dirname(__FILE__), "..", "bin", "pivotal_to
4
4
  describe 'PivotalToPdf Bin' do
5
5
  describe "when pased in story sub command" do
6
6
  it "should call story" do
7
- PivotalToPdf.should_receive(:story).with(123, nil)
7
+ PivotalToPdf::Main.should_receive(:story).with(123, nil)
8
8
  PivotalToPdfApp.start(["story", 123])
9
9
  end
10
10
  it "should not call story when no story id is given" do
11
- PivotalToPdf.should_not_receive(:story)
11
+ PivotalToPdf::Main.should_not_receive(:story)
12
12
  PivotalToPdfApp.start(["story"])
13
13
  end
14
14
 
15
15
  describe "and when the nocolor option is defined" do
16
16
  it "should pass the option in" do
17
- PivotalToPdf.should_receive(:story).with(123, "nocolor")
17
+ PivotalToPdf::Main.should_receive(:story).with(123, "nocolor")
18
18
  PivotalToPdfApp.start(["story", 123, "--nocolor"])
19
19
  end
20
20
  end
21
21
  end
22
22
  describe "when pased in iteration sub command" do
23
23
  it "should call iteration" do
24
- PivotalToPdf.should_receive(:iteration).with(123, nil)
24
+ PivotalToPdf::Main.should_receive(:iteration).with(123, nil)
25
25
  PivotalToPdfApp.start(["iteration", 123])
26
26
  end
27
27
 
28
28
  describe "and when the nocolor option is defined" do
29
29
  it "should pass the option in" do
30
- PivotalToPdf.should_receive(:iteration).with(123, "nocolor")
30
+ PivotalToPdf::Main.should_receive(:iteration).with(123, "nocolor")
31
31
  PivotalToPdfApp.start(["iteration", 123, "--nocolor"])
32
32
  end
33
33
  end
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pivotal_to_pdf
3
3
  version: !ruby/object:Gem::Version
4
- hash: 59
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 8
9
- - 2
10
- version: 0.8.2
8
+ - 9
9
+ version: "0.9"
11
10
  platform: ruby
12
11
  authors:
13
12
  - Yi Wen
@@ -15,7 +14,7 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2011-09-01 00:00:00 -05:00
17
+ date: 2011-10-30 00:00:00 -05:00
19
18
  default_executable:
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
@@ -92,6 +91,7 @@ extra_rdoc_files:
92
91
  - lib/pivotal_to_pdf/iteration.rb
93
92
  - lib/pivotal_to_pdf/pdf_writer.rb
94
93
  - lib/pivotal_to_pdf/pivotal.rb
94
+ - lib/pivotal_to_pdf/simple_text_formatter.rb
95
95
  - lib/pivotal_to_pdf/story.rb
96
96
  - tasks/spec.rb
97
97
  files:
@@ -106,7 +106,9 @@ files:
106
106
  - lib/pivotal_to_pdf/iteration.rb
107
107
  - lib/pivotal_to_pdf/pdf_writer.rb
108
108
  - lib/pivotal_to_pdf/pivotal.rb
109
+ - lib/pivotal_to_pdf/simple_text_formatter.rb
109
110
  - lib/pivotal_to_pdf/story.rb
111
+ - spec/pivotal_to_pdf/simple_text_formatter_spec.rb
110
112
  - spec/pivotal_to_pdf/story_spec.rb
111
113
  - spec/pivotal_to_pdf_bin_spec.rb
112
114
  - spec/spec_helper.rb
@@ -148,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
148
150
  requirements: []
149
151
 
150
152
  rubyforge_project: pivotal_to_pdf
151
- rubygems_version: 1.4.0
153
+ rubygems_version: 1.4.2
152
154
  signing_key:
153
155
  specification_version: 3
154
156
  summary: Convert Pivotal Tracker Stories to 4x6 PDF for printing