prawn_cocktail 0.0.1 → 0.2.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/README.md +15 -17
- data/lib/prawn_cocktail/renderer.rb +1 -1
- data/lib/prawn_cocktail/version.rb +1 -1
- data/prawn_cocktail.gemspec +1 -0
- metadata +15 -4
data/README.md
CHANGED
@@ -13,7 +13,7 @@ NOTE: Work in progress; well used but untested.
|
|
13
13
|
## TODO
|
14
14
|
|
15
15
|
* Tests.
|
16
|
-
*
|
16
|
+
* Syntax to declare page size shorthands?
|
17
17
|
* Include instead of inherit? Consider `class_attribute`.
|
18
18
|
|
19
19
|
## Usage
|
@@ -23,7 +23,7 @@ NOTE: Work in progress; well used but untested.
|
|
23
23
|
Your controllers get a `send_pdf` method:
|
24
24
|
|
25
25
|
``` ruby
|
26
|
-
class
|
26
|
+
class InvoicesController < ApplicationController
|
27
27
|
def show
|
28
28
|
invoice = Invoice.find(params[:id])
|
29
29
|
document = InvoiceDocument.new(invoice)
|
@@ -32,7 +32,7 @@ class InvoiceController < ApplicationController
|
|
32
32
|
end
|
33
33
|
```
|
34
34
|
|
35
|
-
###
|
35
|
+
### Document/view
|
36
36
|
|
37
37
|
Against Rails conventions, but in line with the idea of [two-step views](http://martinfowler.com/eaaCatalog/twoStepView.html), we think of these as "views" as opposed to "templates".
|
38
38
|
|
@@ -73,15 +73,15 @@ If the data becomes complex, you are advised to extract one or many builder clas
|
|
73
73
|
Put the Prawn code in a template named after the view:
|
74
74
|
|
75
75
|
``` ruby
|
76
|
-
# app/documents/
|
76
|
+
# app/views/documents/invoice_document.pdf.rb
|
77
77
|
|
78
78
|
meta page_size: "A4"
|
79
79
|
|
80
80
|
content do |data|
|
81
81
|
text "Invoice #{data.number}"
|
82
|
-
move_down
|
82
|
+
move_down 10
|
83
83
|
text "Amount: #{data.amount}"
|
84
|
-
move_down
|
84
|
+
move_down 10
|
85
85
|
text data.customer_name
|
86
86
|
end
|
87
87
|
```
|
@@ -104,7 +104,7 @@ end
|
|
104
104
|
```
|
105
105
|
|
106
106
|
``` ruby
|
107
|
-
# app/documents/
|
107
|
+
# app/views/documents/invoice_document.pdf.rb
|
108
108
|
|
109
109
|
content do |data|
|
110
110
|
common_header
|
@@ -133,20 +133,18 @@ If you want to run some code in every document, use an `initialize_document` blo
|
|
133
133
|
``` ruby
|
134
134
|
class BaseDocument < PrawnCocktail::Document
|
135
135
|
initialize_document do
|
136
|
-
|
137
|
-
|
138
|
-
font_families.update(
|
139
|
-
"Helvetica Neue" => {
|
140
|
-
bold: FONT_DIR.join("HelveticaNeueLTCom-Md.ttf").to_s,
|
141
|
-
normal: FONT_DIR.join("HelveticaNeueLTCom-Lt.ttf").to_s
|
142
|
-
})
|
143
|
-
|
144
|
-
font "Helvetica Neue"
|
136
|
+
font "Courier"
|
145
137
|
end
|
146
138
|
end
|
147
139
|
```
|
148
140
|
|
149
|
-
This is incidentally how
|
141
|
+
This is incidentally how helpers are implemented:
|
142
|
+
|
143
|
+
```
|
144
|
+
def self.helper(mod)
|
145
|
+
initialize_document { extend mod }
|
146
|
+
end
|
147
|
+
```
|
150
148
|
|
151
149
|
## Installation
|
152
150
|
|
data/prawn_cocktail.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prawn_cocktail
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: prawn
|
16
|
-
requirement: &
|
16
|
+
requirement: &70299039222780 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,18 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70299039222780
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rails
|
27
|
+
requirement: &70299039222180 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70299039222180
|
25
36
|
description:
|
26
37
|
email:
|
27
38
|
- henrik@barsoom.se
|