pivotal_to_pdf 0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ v0.1 initial setup
@@ -0,0 +1,8 @@
1
+ CHANGELOG
2
+ Manifest
3
+ Rakefile
4
+ bin/pivol_to_pdf
5
+ lib/pivotal_to_pdf.rb
6
+ lib/pivotal_to_pdf/pdf_writer.rb
7
+ lib/pivotal_to_pdf/story.rb
8
+ pivotal_to_pdf.gemspec
@@ -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
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.dirname(__FILE__) + '/../lib') unless $:.include?(File.dirname(__FILE__) + '/../lib')
3
+ require 'pivotal_to_pdf'
4
+ PivotalToPdf.write ARGV[0]
5
+
@@ -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,5 @@
1
+ class Story < ActiveResource::Base
2
+ info = YAML.load_file File.expand_path("~/.pivotal.yml")
3
+ self.site = %Q|https://www.pivotaltracker.com/services/v3/projects/#{info['project_id']}|
4
+ headers['X-TrackerToken'] = info["token"]
5
+ 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
+