pivotal_to_pdf 0.1
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 +1 -0
- data/Manifest +8 -0
- data/Rakefile +10 -0
- data/bin/pivol_to_pdf +5 -0
- data/lib/pivotal_to_pdf.rb +13 -0
- data/lib/pivotal_to_pdf/pdf_writer.rb +60 -0
- data/lib/pivotal_to_pdf/story.rb +5 -0
- data/pivotal_to_pdf.gemspec +41 -0
- metadata +124 -0
data/CHANGELOG
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
v0.1 initial setup
|
data/Manifest
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'echoe'
|
2
|
+
Echoe.new('pivotal_to_pdf') do |p|
|
3
|
+
p.description = "Convert Pivotal Tracker Stories to 4x6 PDF for printing"
|
4
|
+
p.author = "Yi Wen"
|
5
|
+
p.email = "hayafirst@gmail.com"
|
6
|
+
p.runtime_dependencies = %w(activeresource prawn rainbow)
|
7
|
+
p.bin_files = [ "bin/pivotal_to_pdf" ]
|
8
|
+
# p.ignore_pattern = ["bin/*"]
|
9
|
+
# p.development_dependencies = []
|
10
|
+
end
|
data/bin/pivol_to_pdf
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rainbow'
|
3
|
+
require 'active_resource'
|
4
|
+
require 'pivotal_to_pdf/story'
|
5
|
+
require 'pivotal_to_pdf/pdf_writer'
|
6
|
+
class PivotalToPdf
|
7
|
+
class << self
|
8
|
+
def write(story_id)
|
9
|
+
story = Story.find(story_id)
|
10
|
+
PdfWriter.new(story).write_to
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# Script to generate PDF cards suitable for planning poker
|
4
|
+
# from Pivotal Tracker [http://www.pivotaltracker.com/] CSV export.
|
5
|
+
|
6
|
+
# Inspired by Bryan Helmkamp's http://github.com/brynary/features2cards/
|
7
|
+
|
8
|
+
# Example output: http://img.skitch.com/20100522-d1kkhfu6yub7gpye97ikfuubi2.png
|
9
|
+
|
10
|
+
require 'rubygems'
|
11
|
+
require 'prawn'
|
12
|
+
require 'rainbow'
|
13
|
+
|
14
|
+
class PdfWriter
|
15
|
+
attr_reader :card
|
16
|
+
def initialize(card)
|
17
|
+
@card = card
|
18
|
+
end
|
19
|
+
|
20
|
+
def write_to
|
21
|
+
Prawn::Document.generate("#{card.id}.pdf",
|
22
|
+
:page_layout => :landscape,
|
23
|
+
:margin => [25, 25, 50, 25],
|
24
|
+
:page_size => [302, 432]) do |pdf|
|
25
|
+
|
26
|
+
pdf.font "#{Prawn::BASEDIR}/data/fonts/DejaVuSans.ttf"
|
27
|
+
# pdf.start_new_page
|
28
|
+
padding = 12
|
29
|
+
pdf.stroke_color = "666666"
|
30
|
+
pdf.stroke_bounds
|
31
|
+
width = 370
|
32
|
+
# --- Write content
|
33
|
+
pdf.bounding_box [pdf.bounds.left+padding, pdf.bounds.top-padding], :width => width do
|
34
|
+
pdf.text card.name, :size => 14
|
35
|
+
pdf.text "\n", :size => 14
|
36
|
+
pdf.fill_color "444444"
|
37
|
+
pdf.text card.description || "", :size => 10
|
38
|
+
pdf.fill_color "000000"
|
39
|
+
end
|
40
|
+
|
41
|
+
pdf.text_box "Points: " + card.estimate.to_s,
|
42
|
+
:size => 12, :at => [12, 50], :width => width-18
|
43
|
+
pdf.text_box "Owner: " + card.owned_by,
|
44
|
+
:size => 8, :at => [12, 18], :width => width-18
|
45
|
+
|
46
|
+
pdf.fill_color "999999"
|
47
|
+
pdf.text_box card.story_type.capitalize, :size => 8, :align => :right, :at => [12, 18], :width => width-18
|
48
|
+
pdf.fill_color "000000"
|
49
|
+
|
50
|
+
|
51
|
+
# --- Footer
|
52
|
+
pdf.number_pages "Story ID: #{card.id}", [pdf.bounds.left, -28]
|
53
|
+
|
54
|
+
puts ">>> Generated PDF file in '#{card.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
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{pivotal_to_pdf}
|
5
|
+
s.version = "0.1"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Yi Wen"]
|
9
|
+
s.date = %q{2010-11-24}
|
10
|
+
s.default_executable = %q{pivol_to_pdf}
|
11
|
+
s.description = %q{Convert Pivotal Tracker Stories to 4x6 PDF for printing}
|
12
|
+
s.email = %q{hayafirst@gmail.com}
|
13
|
+
s.executables = ["pivol_to_pdf"]
|
14
|
+
s.extra_rdoc_files = ["CHANGELOG", "bin/pivol_to_pdf", "lib/pivotal_to_pdf.rb", "lib/pivotal_to_pdf/pdf_writer.rb", "lib/pivotal_to_pdf/story.rb"]
|
15
|
+
s.files = ["CHANGELOG", "Manifest", "Rakefile", "bin/pivol_to_pdf", "lib/pivotal_to_pdf.rb", "lib/pivotal_to_pdf/pdf_writer.rb", "lib/pivotal_to_pdf/story.rb", "pivotal_to_pdf.gemspec"]
|
16
|
+
s.homepage = %q{}
|
17
|
+
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Pivotal_to_pdf", "--main", "README"]
|
18
|
+
s.require_paths = ["lib"]
|
19
|
+
s.rubyforge_project = %q{pivotal_to_pdf}
|
20
|
+
s.rubygems_version = %q{1.3.7}
|
21
|
+
s.summary = %q{Convert Pivotal Tracker Stories to 4x6 PDF for printing}
|
22
|
+
|
23
|
+
if s.respond_to? :specification_version then
|
24
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
25
|
+
s.specification_version = 3
|
26
|
+
|
27
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
28
|
+
s.add_runtime_dependency(%q<activeresource>, [">= 0"])
|
29
|
+
s.add_runtime_dependency(%q<prawn>, [">= 0"])
|
30
|
+
s.add_runtime_dependency(%q<rainbow>, [">= 0"])
|
31
|
+
else
|
32
|
+
s.add_dependency(%q<activeresource>, [">= 0"])
|
33
|
+
s.add_dependency(%q<prawn>, [">= 0"])
|
34
|
+
s.add_dependency(%q<rainbow>, [">= 0"])
|
35
|
+
end
|
36
|
+
else
|
37
|
+
s.add_dependency(%q<activeresource>, [">= 0"])
|
38
|
+
s.add_dependency(%q<prawn>, [">= 0"])
|
39
|
+
s.add_dependency(%q<rainbow>, [">= 0"])
|
40
|
+
end
|
41
|
+
end
|
metadata
ADDED
@@ -0,0 +1,124 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: pivotal_to_pdf
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 9
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
version: "0.1"
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Yi Wen
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2010-11-24 00:00:00 -06:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: activeresource
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 3
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
version: "0"
|
32
|
+
type: :runtime
|
33
|
+
version_requirements: *id001
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: prawn
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
hash: 3
|
43
|
+
segments:
|
44
|
+
- 0
|
45
|
+
version: "0"
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id002
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: rainbow
|
50
|
+
prerelease: false
|
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
|
+
type: :runtime
|
61
|
+
version_requirements: *id003
|
62
|
+
description: Convert Pivotal Tracker Stories to 4x6 PDF for printing
|
63
|
+
email: hayafirst@gmail.com
|
64
|
+
executables:
|
65
|
+
- pivol_to_pdf
|
66
|
+
extensions: []
|
67
|
+
|
68
|
+
extra_rdoc_files:
|
69
|
+
- CHANGELOG
|
70
|
+
- bin/pivol_to_pdf
|
71
|
+
- lib/pivotal_to_pdf.rb
|
72
|
+
- lib/pivotal_to_pdf/pdf_writer.rb
|
73
|
+
- lib/pivotal_to_pdf/story.rb
|
74
|
+
files:
|
75
|
+
- CHANGELOG
|
76
|
+
- Manifest
|
77
|
+
- Rakefile
|
78
|
+
- bin/pivol_to_pdf
|
79
|
+
- lib/pivotal_to_pdf.rb
|
80
|
+
- lib/pivotal_to_pdf/pdf_writer.rb
|
81
|
+
- lib/pivotal_to_pdf/story.rb
|
82
|
+
- pivotal_to_pdf.gemspec
|
83
|
+
has_rdoc: true
|
84
|
+
homepage: ""
|
85
|
+
licenses: []
|
86
|
+
|
87
|
+
post_install_message:
|
88
|
+
rdoc_options:
|
89
|
+
- --line-numbers
|
90
|
+
- --inline-source
|
91
|
+
- --title
|
92
|
+
- Pivotal_to_pdf
|
93
|
+
- --main
|
94
|
+
- README
|
95
|
+
require_paths:
|
96
|
+
- lib
|
97
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
98
|
+
none: false
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
hash: 3
|
103
|
+
segments:
|
104
|
+
- 0
|
105
|
+
version: "0"
|
106
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
hash: 11
|
112
|
+
segments:
|
113
|
+
- 1
|
114
|
+
- 2
|
115
|
+
version: "1.2"
|
116
|
+
requirements: []
|
117
|
+
|
118
|
+
rubyforge_project: pivotal_to_pdf
|
119
|
+
rubygems_version: 1.3.7
|
120
|
+
signing_key:
|
121
|
+
specification_version: 3
|
122
|
+
summary: Convert Pivotal Tracker Stories to 4x6 PDF for printing
|
123
|
+
test_files: []
|
124
|
+
|