prawn-rails 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -6
- data/README.md +11 -17
- data/lib/prawn-rails/document.rb +4 -6
- data/lib/prawn-rails/load_prawn_plugins.rb +11 -0
- data/lib/prawn-rails/rails_helper.rb +12 -6
- data/lib/prawn-rails/renderer.rb +3 -0
- data/lib/prawn-rails/version.rb +1 -1
- data/test/{dummy → dummy_app}/Rakefile +0 -0
- data/test/{dummy/db/test.sqlite3 → dummy_app/app/assets/javascripts/application.js} +0 -0
- data/test/dummy_app/app/assets/stylesheets/application.css +3 -0
- data/test/{dummy → dummy_app}/app/controllers/application_controller.rb +0 -0
- data/test/dummy_app/app/controllers/reports_controller.rb +18 -0
- data/test/{dummy → dummy_app}/app/views/layouts/application.html.erb +1 -1
- data/test/dummy_app/app/views/reports/sample.html.erb +1 -0
- data/test/{dummy/app/views/pdf/render_pdf.pdf.prawn → dummy_app/app/views/reports/sample.pdf.prawn} +13 -9
- data/test/dummy_app/app/views/reports/table.pdf.prawn +7 -0
- data/test/{dummy → dummy_app}/config.ru +0 -0
- data/test/{dummy → dummy_app}/config/application.rb +19 -1
- data/test/{dummy → dummy_app}/config/boot.rb +0 -0
- data/test/{dummy → dummy_app}/config/database.yml +0 -0
- data/test/{dummy → dummy_app}/config/environment.rb +0 -0
- data/test/{dummy → dummy_app}/config/environments/development.rb +0 -0
- data/test/{dummy → dummy_app}/config/environments/production.rb +0 -0
- data/test/{dummy → dummy_app}/config/environments/test.rb +0 -0
- data/test/{dummy → dummy_app}/config/initializers/backtrace_silencers.rb +0 -0
- data/test/{dummy → dummy_app}/config/initializers/inflections.rb +0 -0
- data/test/{dummy → dummy_app}/config/initializers/mime_types.rb +0 -0
- data/test/dummy_app/config/initializers/prawn-rails.rb +5 -0
- data/test/{dummy → dummy_app}/config/initializers/secret_token.rb +5 -1
- data/test/{dummy → dummy_app}/config/initializers/session_store.rb +1 -1
- data/test/{dummy → dummy_app}/config/initializers/wrap_parameters.rb +1 -1
- data/test/{dummy → dummy_app}/config/locales/en.yml +0 -0
- data/test/dummy_app/config/routes.rb +4 -0
- data/test/{dummy → dummy_app}/config/secrets.yml +0 -0
- data/test/{dummy → dummy_app}/db/schema.rb +1 -8
- data/test/{dummy/public/favicon.ico → dummy_app/db/test.sqlite3} +0 -0
- data/test/dummy_app/log/test.log +2921 -0
- data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/-E/-EGHXi_ULbX3JP7NLAsVLUrIZgOg0HxdFnvlbmA7DCA.cache +1 -0
- data/test/{dummy/tmp/cache/assets/sprockets/v3.0/mQ/mQditvxd7m-nwTpkGVCOalFZesEjSbG8EOKqC3zq108.cache → dummy_app/tmp/cache/assets/sprockets/v3.0/3N/3NnKgR2TsTI1qCXKZpts0uJzp2dRJcoYp3nnFU6YE4o.cache} +1 -1
- data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/4O/4O6Anm3R8aSIVfMhGtp5tZK3x17fcY1SbWoDN_6hb-o.cache +2 -0
- data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/Bl/BlRucSL6BNAMZvHs4UVilikqNOKnbCHSGHIQRgtKvFQ.cache +1 -0
- data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/E1/E18Q7xE2E1RWvLRrvvBEf0ahfumckOlJWqD7YiPqLAk.cache +0 -0
- data/test/{dummy/tmp/cache/assets/sprockets/v3.0/7k/7knv2O_3Eod2l8h0YSVe5xjnQsDlsXbJffQ1dKiSrEs.cache → dummy_app/tmp/cache/assets/sprockets/v3.0/LR/LRLaw7viwBb9Mi_VFZxGbKIooy8Fqf1aB_iOTETsMyc.cache} +1 -1
- data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/Mj/MjwYGG9GkHD1fwwH2bg66EBYl3zCA_mqeDF9otey4-U.cache +3 -0
- data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/QP/QPocswuHM6KXKYd99JclYrybZep_vYHyfZQ-nGJB5uU.cache +1 -0
- data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/S9/S9TmgasHOyBiOSg3OOpu2mzuUwMxxUE3zyKrExqIryQ.cache +0 -0
- data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/VK/VKv8TUCURhWXKU5qrG7ocs75FsysCWNtswhqtTi7Lfw.cache +0 -0
- data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/dZ/dZLyjSvZKmLRvanBa3SmJ58gtb_fQaHMzS1A04p2x_4.cache +1 -0
- data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/kA/kAfbx3YIMg0L2tevtZdwbRjKKy9xOmYlXJ7LapMXDME.cache +1 -0
- data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/mn/mnaHTtsBvdmAbdqsorI0KqFoT2eQIhgDVER_He3q2HU.cache +1 -0
- data/test/dummy_app/tmp/cache/assets/sprockets/v3.0/rT/rTYHFXiH_g6ZVTgNXdVrDz3fihYKq9Diqso1lzP257o.cache +0 -0
- data/test/integration/prawn_rails_test.rb +64 -0
- data/test/prawn_rails_test.rb +11 -0
- data/test/test_helper.rb +1 -1
- metadata +97 -163
- data/lib/prawn-rails/extension.rb +0 -48
- data/test/dummy/app/assets/javascripts/application.js +0 -7
- data/test/dummy/app/assets/stylesheets/application.css +0 -7
- data/test/dummy/app/assets/stylesheets/scaffold.css +0 -56
- data/test/dummy/app/controllers/pdf_controller.rb +0 -9
- data/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/dummy/app/helpers/pdf_helper.rb +0 -2
- data/test/dummy/app/helpers/products_helper.rb +0 -2
- data/test/dummy/app/models/product.rb +0 -2
- data/test/dummy/app/views/pdf/render_pdf.html.erb +0 -2
- data/test/dummy/config/initializers/prawn-rails.rb +0 -4
- data/test/dummy/config/routes.rb +0 -62
- data/test/dummy/log/test.log +0 -390
- data/test/dummy/public/404.html +0 -26
- data/test/dummy/public/422.html +0 -26
- data/test/dummy/public/500.html +0 -26
- data/test/dummy/script/rails +0 -6
- data/test/dummy/test/functional/pdf_controller_test.rb +0 -21
- data/test/dummy/test/unit/helpers/pdf_helper_test.rb +0 -4
- data/test/dummy/test/unit/render_to_string_test.rb +0 -10
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/3H/3HKwxPtsFtIWWB8h3a3IubpM4GcVjstICkerRFO439k.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/7M/7Mq76IhtBe2-VV2M2oHVxXAVG_QLm5SrCNxRggF8RPc.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/7z/7zCgQfsGmkfNRDRJbRNwZOHR1KjCn5eXK6kQ3MD3Q2I.cache +0 -1
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/8k/8k3y_LCz9mDUxOJy9Q2XGrbzfTesQnWYC0cQP1TOvFs.cache +0 -1
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Dm/DmmfrCpXtt74Hr6NO54lxyOCDv6klnDyBqeDFR7oDU8.cache +0 -3
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Fl/FlyzzCH6xseKijuu-xP3_W0V8-1cWLl95YXDNxYDUNo.cache +0 -1
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/HC/HCD43uamHiSFgGxIxwnhpFVOmIxP1BnzNNvNivaWbpk.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Lx/LxtjvSVJOouLYZBYfdC_AjDQkYKKKEs3M10Vum5cJEg.cache +0 -1
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/PK/PKWLCqd6Zhyt0ja1qijEKFaHwfBpCAHEosX412uU-V8.cache +0 -3
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/PS/PSRh_XH9lrFbchQbAFcC08Qv6_y-Bgv7sjtfpKR-OUM.cache +0 -1
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Qo/QoWFwSTYT96pcyCl7-2W0dwnhAcu5C8LIcoBrcDyStI.cache +0 -1
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/VD/VDc9sGDOOPm5eVmRJ2f2cRjTaKC11SnKHOpHHbyChl0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ve/VeM604IZ64WdmC055DY5x0e5Hi8rcIAqhYJI5EcopDI.cache +0 -1
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/X0/X0IS1nkiVmMS3U903Hrwc01kDe2ajHoeo61xuHfbM6c.cache +0 -1
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/bB/bBZWYaOxRNh_QSoJcD-Mkvcz9KgvY-dG9fwXISEG4K8.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/dY/dYpMqE0kCuH8r1W0qAG7zvVC38Hq4BT-1D--XGbeNXg.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/jH/jHI2oSw0VjtEfiiHzdvIRzqjkX7EfibPviTfzvDJie0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/jl/jlvE-YiBY3zJbTaEnymfM6KKQ0VC4fh-ABin-DfZQH0.cache +0 -2
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/lW/lWicvOny7LscyeGkw-SjCaJEc6iQO2xyCQzEoCOT9io.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/mq/mqcnbDYKKUpY94uXsWbGbcRGZwaZNlC1pynK_1spLG8.cache +0 -1
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/np/nppFP1_0FGLqnQh_ZUlGiPLii5Lqbpv4cXNPXvimFF4.cache +0 -1
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/oU/oUvIYed-Tb8hZ7gKa7FPpyhkc6vqXdyiMHNRI89fMO0.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/sG/sG274Dzr6XE-W7yJehcXagYHbLDgelrH4-7lrdytdI4.cache +0 -1
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/tA/tAy3LvgiPR3JYEMcVE38njAzFe3XLQuc5fZueLWu5Yo.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/uO/uOOMjW4h-byBJFu52K4-uCeQA35aLhrqzzfRswpey-s.cache +0 -1
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/vp/vpF3NlYVMkWc7PivIOC4SAKJ51RzYEXyTRKvfmsMGFg.cache +0 -1
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/vv/vvP0dfbO8asNpteZs8hiM8s9YwP9qcQRAiF0Flm_2cw.cache +0 -1
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/w3/w3opA7mSLePTdHCpuCBqduTsSbwUIgiPnFcb4oLM4g4.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/we/wetuI3DMxRNUJ59_Ht2tI_UznmZ4Qo6YaFQaObX5Yeo.cache +0 -1
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/wn/wnvJ74QIdj8tSD10cXmY9KyXCpaQIv0FfZJWw-EudW8.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/xP/xPMfTXGxxCCgIip6XsG-paelKjnDzbpAYugLmUfykPs.cache +0 -0
- data/test/dummy/tmp/cache/assets/sprockets/v3.0/zT/zTsAvZfthhhPVIOWyDH3KWWRuZ8HnBYMveoWvD-u9_k.cache +0 -1
- data/test/integration/navigation_test.rb +0 -9
- data/test/prawn-rails_test.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 750f17f633f0a7d1dbc8114142479708d88029db
|
4
|
+
data.tar.gz: ad0bfd62383c511bf82996dd64de18078450a03b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b76d0d73b1a168b9fdebe56766b5d4e743df421cc4f5cb2214f7647eb34fb75ecf8834d34f418d4839228e7cdc69a3b8a339bc085db322d31fbbbe8975c1675
|
7
|
+
data.tar.gz: 2c7c30748577994849c8c7c19dddc26fb05c69a7beb300a0a0635f7bc3e4c7ca912a96a4d02d0d86dbce0b9e9a98386f8fee13e94f80601f1b68cd5c5bccc87e
|
data/CHANGELOG.md
CHANGED
@@ -1,15 +1,23 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
* `
|
3
|
+
* `Unreleased`
|
4
|
+
- Nothing yet
|
5
|
+
|
6
|
+
* `v1.1.0`
|
7
|
+
- [#29](https://github.com/cortiz/prawn-rails/pull/29) - Require all installed prawn extensions
|
8
|
+
- Removed unnecessary `html_strip` helper method. If you were using this feature, instead use Rails built in `strip_tags(html_str)` or `ActionView::Base.full_sanitizer.sanitize(html_str)`
|
9
|
+
- Add legitimate tests
|
10
|
+
|
11
|
+
* `v1.0.1`
|
4
12
|
- Fix error when using `ActionController.render_to_string`
|
5
13
|
|
6
|
-
* `v1.0.0`
|
14
|
+
* `v1.0.0`
|
7
15
|
- Support `@filename`
|
8
16
|
- Set PDF Title metadata based on `@filename` if not specified
|
9
17
|
- Fix for Ruby 1.9.3+
|
10
18
|
- Cleanup
|
11
19
|
|
12
|
-
* `v0.1.1`
|
13
|
-
* `v0.1.0`
|
14
|
-
* `v0.0.2`
|
15
|
-
* `v0.0.1`
|
20
|
+
* `v0.1.1`
|
21
|
+
* `v0.1.0`
|
22
|
+
* `v0.0.2`
|
23
|
+
* `v0.0.1`
|
data/README.md
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# Prawn-Rails [![Gem Version](https://badge.fury.io/rb/prawn-rails.svg)](http://badge.fury.io/rb/prawn-rails)
|
2
2
|
<a href='http://ko-fi.com/A552JBK' target='_blank'><img height='32' style='border:0px;height:32px;' src='https://az743702.vo.msecnd.net/cdn/kofi1.png?v=a' border='0' alt='Buy Me a Coffee' /></a>
|
3
3
|
|
4
|
-
|
4
|
+
# Install
|
5
5
|
```ruby
|
6
6
|
gem 'prawn-rails'
|
7
7
|
```
|
8
8
|
|
9
9
|
Note: `prawn` and `prawn-table` are dependencies of `prawn-rails` so there is no need to mention it in the projects Gemfile unless you want to use a specific version of either of those libraries.
|
10
10
|
|
11
|
-
|
11
|
+
# Usage
|
12
12
|
Create a view with `pdf` as format and `prawn` as handler so filename should look like `example.pdf.prawn`
|
13
13
|
|
14
14
|
It provides a helper called `prawn_document` which builds a PrawnRails::Document with default options. You can override any options as you please. Example:
|
@@ -29,11 +29,7 @@ def show
|
|
29
29
|
end
|
30
30
|
```
|
31
31
|
|
32
|
-
|
33
|
-
* *html_strip(html)*:
|
34
|
-
Removes the html tags from a string
|
35
|
-
|
36
|
-
## Default configuration
|
32
|
+
# Default configuration
|
37
33
|
|
38
34
|
Add a `prawn-rails.rb` config to your Rails app under `config/initializers` like this
|
39
35
|
|
@@ -59,9 +55,9 @@ pdf.start_new_page
|
|
59
55
|
pdf.start_new_page size: "A4", page_layout: :portrait
|
60
56
|
```
|
61
57
|
|
62
|
-
|
58
|
+
# Examples
|
63
59
|
|
64
|
-
|
60
|
+
#### Hello World
|
65
61
|
|
66
62
|
```ruby
|
67
63
|
# hello.pdf.prawn
|
@@ -71,7 +67,7 @@ prawn_document do |pdf|
|
|
71
67
|
end
|
72
68
|
```
|
73
69
|
|
74
|
-
|
70
|
+
#### Using Active Record
|
75
71
|
|
76
72
|
```ruby
|
77
73
|
# myproducts.pdf.prawn
|
@@ -82,7 +78,7 @@ prawn_document do |pdf|
|
|
82
78
|
pdf.table @products.collect{|p| [p.name,p.price]}
|
83
79
|
end
|
84
80
|
```
|
85
|
-
|
81
|
+
#### Using Custom options
|
86
82
|
|
87
83
|
```ruby
|
88
84
|
# landscape.pdf.prawn
|
@@ -92,12 +88,10 @@ prawn_document(page_layout: :landscape) do |pdf|
|
|
92
88
|
end
|
93
89
|
```
|
94
90
|
|
95
|
-
|
96
|
-
|
97
|
-
Created by Carlos Ortiz - @cortiz
|
98
|
-
|
99
|
-
<a href='http://ko-fi.com/A552JBK' target='_blank'><img height='32' style='border:0px;height:32px;' src='https://az743702.vo.msecnd.net/cdn/kofi1.png?v=a' border='0' alt='Buy Me a Coffee' /></a>
|
91
|
+
# Credits
|
100
92
|
|
101
93
|
Maintained by Weston Ganger - @westonganger
|
102
94
|
|
103
|
-
|
95
|
+
Created by Carlos Ortiz - @cortiz
|
96
|
+
|
97
|
+
<a href='http://ko-fi.com/A552JBK' target='_blank'><img height='32' style='border:0px;height:32px;' src='https://az743702.vo.msecnd.net/cdn/kofi1.png?v=a' border='0' alt='Buy Me a Coffee' /></a>
|
data/lib/prawn-rails/document.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'prawn'
|
2
|
-
require 'prawn/
|
3
|
-
require "prawn-rails/extension"
|
2
|
+
require 'prawn-rails/load_prawn_plugins'
|
4
3
|
|
5
4
|
module PrawnRails
|
6
5
|
|
7
|
-
# This derives from Prawn::Document in order to override defaults.
|
6
|
+
# This derives from Prawn::Document in order to override defaults.
|
7
|
+
# Note that the Prawn::Document behaviour itself shouldn't be changed.
|
8
8
|
class Document < Prawn::Document
|
9
9
|
def initialize(opts = {})
|
10
10
|
if PrawnRails.config.respond_to?(:to_h)
|
@@ -15,8 +15,7 @@ module PrawnRails
|
|
15
15
|
super(default)
|
16
16
|
end
|
17
17
|
|
18
|
-
# Typically text expects a string. But
|
19
|
-
# `to_s` on all the variables before rendering. So, passing an integer to text fails:
|
18
|
+
# Typically text expects a string. But Rails views have this interesting concept that they implicitly call `to_s` on all the variables before rendering. So, passing an integer to text fails:
|
20
19
|
#
|
21
20
|
# pdf.text 10 #=> fails because 10 is not a string
|
22
21
|
# pdf.text 10.to_s #=> works
|
@@ -27,5 +26,4 @@ module PrawnRails
|
|
27
26
|
end
|
28
27
|
end
|
29
28
|
|
30
|
-
Document.extensions << Extension
|
31
29
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Gem.loaded_specs.keys.select{|spec_name| spec_name.starts_with?('prawn-')}.each do |gem_name|
|
2
|
+
next if gem_name == 'prawn-rails' # Prevent circular loading
|
3
|
+
|
4
|
+
file = gem_name.gsub('-', '/')
|
5
|
+
|
6
|
+
begin
|
7
|
+
require file
|
8
|
+
rescue LoadError => _
|
9
|
+
STDERR.puts "#{__FILE__}:#{__LINE__}: warning: prawn-rails could not require plugin `#{gem_name}`"
|
10
|
+
end
|
11
|
+
end
|
@@ -2,14 +2,19 @@ require 'prawn-rails/document'
|
|
2
2
|
|
3
3
|
module PrawnRails
|
4
4
|
module RailsHelper
|
5
|
+
|
5
6
|
def prawn_document(options={})
|
6
|
-
options.reverse_merge!(
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
options.reverse_merge!({
|
8
|
+
page_layout: PrawnRails.config.page_layout,
|
9
|
+
page_size: PrawnRails.config.page_size,
|
10
|
+
info: {
|
11
|
+
Title: @filename.sub(/\.(p|P)(d|D)(f|F)$/, '')
|
12
|
+
}
|
13
|
+
})
|
11
14
|
|
12
|
-
|
15
|
+
if PrawnRails.config.skip_page_creation
|
16
|
+
options.reverse_merge!(skip_page_creation: true)
|
17
|
+
end
|
13
18
|
|
14
19
|
pdf = PrawnRails::Document.new(options)
|
15
20
|
|
@@ -17,5 +22,6 @@ module PrawnRails
|
|
17
22
|
|
18
23
|
pdf.render
|
19
24
|
end
|
25
|
+
|
20
26
|
end
|
21
27
|
end
|
data/lib/prawn-rails/renderer.rb
CHANGED
@@ -2,6 +2,8 @@ require "prawn-rails/document"
|
|
2
2
|
|
3
3
|
module PrawnRails
|
4
4
|
class Renderer
|
5
|
+
|
6
|
+
### WARNING: BE VERY CAREFUL IF EDITING THIS METHOD
|
5
7
|
def self.call(template)
|
6
8
|
%{
|
7
9
|
@filename ||= "\#{controller.action_name}.pdf"
|
@@ -13,5 +15,6 @@ module PrawnRails
|
|
13
15
|
#{template.source.strip}
|
14
16
|
}
|
15
17
|
end
|
18
|
+
|
16
19
|
end
|
17
20
|
end
|
data/lib/prawn-rails/version.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
<h1>Hello World!</h1>
|
data/test/{dummy/app/views/pdf/render_pdf.pdf.prawn → dummy_app/app/views/reports/sample.pdf.prawn}
RENAMED
@@ -1,13 +1,15 @@
|
|
1
1
|
prawn_document(page_layout: :portrait) do |pdf|
|
2
|
-
pdf.text "Hello
|
2
|
+
pdf.text "Hello World!"
|
3
3
|
pdf.text "now it is here: #{pdf.cursor}"
|
4
|
-
pdf.text "Items
|
4
|
+
pdf.text "Number of Items: #{@items.count}"
|
5
|
+
|
5
6
|
pdf.font("Courier") do
|
6
7
|
pdf.text "Written in Courier because we are inside the block."
|
7
8
|
end
|
8
9
|
|
9
10
|
pdf.text "with html<bold></bold>"
|
10
|
-
pdf.text
|
11
|
+
pdf.text strip_tags("without html <bold>LD</bold>")
|
12
|
+
|
11
13
|
pdf.text "Let's see which is the current font_size: #{pdf.font_size.inspect}"
|
12
14
|
pdf.move_down 10
|
13
15
|
pdf.font_size 16
|
@@ -17,20 +19,22 @@ prawn_document(page_layout: :portrait) do |pdf|
|
|
17
19
|
pdf.move_down 10
|
18
20
|
pdf.text "Back to 16 again."
|
19
21
|
pdf.move_down 10
|
20
|
-
pdf.text "Single line on 20 using the :size option.", :
|
22
|
+
pdf.text "Single line on 20 using the :size option.", size: 20
|
21
23
|
pdf.move_down 10
|
22
24
|
pdf.text "Back to 16 once more."
|
23
25
|
pdf.move_down 10
|
24
|
-
|
26
|
+
|
27
|
+
pdf.font("Courier", size: 10) do
|
25
28
|
pdf.text "Yeah, using Courier 10 courtesy of the font method."
|
26
29
|
end
|
27
|
-
|
30
|
+
|
31
|
+
pdf.font("Helvetica", size: 12) # back to normal
|
28
32
|
|
29
33
|
pdf.text "Default color is black"
|
30
34
|
pdf.move_down 25
|
31
|
-
pdf.text "Changed to red", :
|
35
|
+
pdf.text "Changed to red", color: "FF0000"
|
32
36
|
pdf.move_down 25
|
33
|
-
pdf.text "CMYK color", :
|
37
|
+
pdf.text "CMYK color", color: [22, 55, 79, 30]
|
34
38
|
pdf.move_down 25
|
35
|
-
pdf.text "Also works with <color rgb='ff0000'>inline</color> formatting", :
|
39
|
+
pdf.text "Also works with <color rgb='ff0000'>inline</color> formatting", color: "0000FF", inline_format: true
|
36
40
|
end
|
File without changes
|
@@ -3,6 +3,11 @@ require File.expand_path('../boot', __FILE__)
|
|
3
3
|
require 'rails/all'
|
4
4
|
|
5
5
|
Bundler.require
|
6
|
+
|
7
|
+
silence_warnings do
|
8
|
+
require 'prawn-svg'
|
9
|
+
end
|
10
|
+
|
6
11
|
require "prawn-rails"
|
7
12
|
|
8
13
|
module Dummy
|
@@ -38,8 +43,21 @@ module Dummy
|
|
38
43
|
# Enable the asset pipeline
|
39
44
|
config.assets.enabled = true
|
40
45
|
|
46
|
+
config.assets.quiet = true
|
47
|
+
|
41
48
|
# Version of your assets, change this if you want to expire all your assets
|
42
49
|
config.assets.version = '1.0'
|
50
|
+
|
51
|
+
config.generators.test_framework = false
|
52
|
+
config.generators.helper = false
|
53
|
+
config.generators.stylesheets = false
|
54
|
+
config.generators.javascripts = false
|
55
|
+
|
56
|
+
if ActiveRecord.respond_to?(:gem_version)
|
57
|
+
gem_version = ActiveRecord.gem_version
|
58
|
+
if gem_version >= Gem::Version.new("5.2")
|
59
|
+
config.active_record.sqlite3.represent_boolean_as_integer = true
|
60
|
+
end
|
61
|
+
end
|
43
62
|
end
|
44
63
|
end
|
45
|
-
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -4,4 +4,8 @@
|
|
4
4
|
# If you change this key, all old signed cookies will become invalid!
|
5
5
|
# Make sure the secret is at least 30 characters and all random,
|
6
6
|
# no regular words or you'll be exposed to dictionary attacks.
|
7
|
-
|
7
|
+
|
8
|
+
gem_version = ActiveRecord.gem_version
|
9
|
+
if gem_version <= Gem::Version.new("5.1")
|
10
|
+
Dummy::Application.config.secret_token = '4f337f0063fbb4a724dd8da15419679300da990ae4f6c94d36c714a3cd07e9653fc42d902cf33a9b9449a28e7eb2673f928172d65a090fa3c9156d6beea8d16c'
|
11
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# Be sure to restart your server when you modify this file.
|
2
2
|
|
3
|
-
Dummy::Application.config.session_store :cookie_store, :
|
3
|
+
Dummy::Application.config.session_store :cookie_store, key: '_dummy_session'
|
4
4
|
|
5
5
|
# Use the database for sessions instead of the cookie-based default,
|
6
6
|
# which shouldn't be used to store highly confidential information
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
|
7
7
|
ActiveSupport.on_load(:action_controller) do
|
8
|
-
wrap_parameters :
|
8
|
+
wrap_parameters format: [:json]
|
9
9
|
end
|
10
10
|
|
11
11
|
# Disable root element in JSON by default.
|
File without changes
|
File without changes
|
@@ -10,13 +10,6 @@
|
|
10
10
|
#
|
11
11
|
# It's strongly recommended to check this file into your version control system.
|
12
12
|
|
13
|
-
ActiveRecord::Schema.define(:
|
14
|
-
|
15
|
-
create_table "products", :force => true do |t|
|
16
|
-
t.string "name"
|
17
|
-
t.decimal "price"
|
18
|
-
t.datetime "created_at"
|
19
|
-
t.datetime "updated_at"
|
20
|
-
end
|
13
|
+
ActiveRecord::Schema.define(version: 20120221152352) do
|
21
14
|
|
22
15
|
end
|