prawn-rails 1.4.2 → 1.6.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.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -1
  3. data/README.md +28 -2
  4. data/Rakefile +0 -0
  5. data/lib/prawn-rails/config.rb +29 -9
  6. data/lib/prawn-rails/document.rb +21 -19
  7. data/lib/prawn-rails/rails_helper.rb +7 -11
  8. data/lib/prawn-rails/version.rb +1 -1
  9. data/lib/prawn-rails.rb +12 -8
  10. metadata +17 -157
  11. data/test/dummy_app/Rakefile +0 -7
  12. data/test/dummy_app/app/assets/config/manifest.js +0 -3
  13. data/test/dummy_app/app/assets/javascripts/application.js +0 -0
  14. data/test/dummy_app/app/assets/stylesheets/application.css +0 -3
  15. data/test/dummy_app/app/controllers/application_controller.rb +0 -3
  16. data/test/dummy_app/app/controllers/reports_controller.rb +0 -37
  17. data/test/dummy_app/app/mailers/reports_mailer.rb +0 -18
  18. data/test/dummy_app/app/views/layouts/application.html.erb +0 -14
  19. data/test/dummy_app/app/views/reports/custom.pdf.prawn +0 -3
  20. data/test/dummy_app/app/views/reports/custom_disposition.pdf.prawn +0 -3
  21. data/test/dummy_app/app/views/reports/custom_filename.pdf.prawn +0 -3
  22. data/test/dummy_app/app/views/reports/sample.html.erb +0 -1
  23. data/test/dummy_app/app/views/reports/sample.pdf.prawn +0 -40
  24. data/test/dummy_app/app/views/reports/table.pdf.prawn +0 -7
  25. data/test/dummy_app/app/views/reports_mailer/send_report.html.erb +0 -1
  26. data/test/dummy_app/config/application.rb +0 -52
  27. data/test/dummy_app/config/boot.rb +0 -10
  28. data/test/dummy_app/config/database.yml +0 -25
  29. data/test/dummy_app/config/environment.rb +0 -5
  30. data/test/dummy_app/config/environments/development.rb +0 -30
  31. data/test/dummy_app/config/environments/production.rb +0 -60
  32. data/test/dummy_app/config/environments/test.rb +0 -41
  33. data/test/dummy_app/config/initializers/backtrace_silencers.rb +0 -7
  34. data/test/dummy_app/config/initializers/inflections.rb +0 -10
  35. data/test/dummy_app/config/initializers/mime_types.rb +0 -5
  36. data/test/dummy_app/config/initializers/prawn-rails.rb +0 -5
  37. data/test/dummy_app/config/initializers/secret_token.rb +0 -11
  38. data/test/dummy_app/config/initializers/session_store.rb +0 -8
  39. data/test/dummy_app/config/initializers/wrap_parameters.rb +0 -14
  40. data/test/dummy_app/config/locales/en.yml +0 -5
  41. data/test/dummy_app/config/routes.rb +0 -9
  42. data/test/dummy_app/config/secrets.yml +0 -22
  43. data/test/dummy_app/config.ru +0 -4
  44. data/test/dummy_app/db/schema.rb +0 -15
  45. data/test/dummy_app/db/test.sqlite3 +0 -0
  46. data/test/dummy_app/log/test.log +0 -484
  47. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/0o/0og-K-ORl6wO02dgU3z8beSXSGOCdnEFcX6KEtXqG2Q.cache +0 -1
  48. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/2V/2VONmeO4ClBgY1gjdZLYo9wQjDG9Ef9sAuwWVxceLEk.cache +0 -1
  49. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/34/34uQaon4nFa_kXcNF-1ac-QhL_HKtstSnb2pGjYCb6w.cache +0 -1
  50. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/3N/3NnKgR2TsTI1qCXKZpts0uJzp2dRJcoYp3nnFU6YE4o.cache +0 -2
  51. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/43/43Xh_xLNBt5kEi4-pWc5m0pFDLIhkNAxyiBf-3E2UJw.cache +0 -1
  52. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/4O/4O6Anm3R8aSIVfMhGtp5tZK3x17fcY1SbWoDN_6hb-o.cache +0 -2
  53. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/8x/8x5zY49XOU4gtdILE9T8l00lhs-lUJ6zzl5hyxjaFzw.cache +0 -0
  54. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/AT/ATEwOxnm0kBLQ6bdeFkXutl92AMg1dA40zmBqy2f2Ng.cache +0 -0
  55. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Ag/AgeZ6zQVNy2sDfEUqjxoVLoCsGo6rA27SUQoJFjqCqY.cache +0 -1
  56. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Dj/DjIeso8fWA-cG6Y9zSr3T0rPtpS6V73u3Q234QgSLa8.cache +0 -1
  57. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Do/Do83AoOat5W-c1g7piDGy2GMmffsY6JY0Qfuh5PY3GM.cache +0 -2
  58. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/E_/E_ZbvXNGsLYdwZdD1F159gQCYVGJrWgaip0GlUx9B68.cache +0 -1
  59. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/LR/LRLaw7viwBb9Mi_VFZxGbKIooy8Fqf1aB_iOTETsMyc.cache +0 -3
  60. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Lk/LkuzadDEF5r9a_QBFvWJ5krc5aerVbxs4zJ19iztB38.cache +0 -0
  61. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Mj/MjwYGG9GkHD1fwwH2bg66EBYl3zCA_mqeDF9otey4-U.cache +0 -3
  62. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Uc/UcQ6dMoNX10N68Sv8qxPf7kahPOJ5pqzYWkbjDKyF1k.cache +0 -1
  63. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/cp/cp36yIX2yPJBfhw6EA0u-BWnvFazmGC8zKxglna59TI.cache +0 -1
  64. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/dt/dteXKuRtjT5JiLleDPqnTNJFalNEbck9vA19hE6rGyw.cache +0 -1
  65. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/hy/hyxqCkBWzkpfHLCqW3YJeQq93KRADVcxEEMz0o0We_w.cache +0 -0
  66. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/k6/k6DfQWIBNnOJUNVvE59mXcoCzMB9D6i0p1WuJZGANoQ.cache +0 -1
  67. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/kR/kRjL0yRqyeZXZk93BSxxJULpCv-rJ3QvC23X4W94RNA.cache +0 -0
  68. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/pv/pv6tV3CDkIAmLXdU8EPLlNEkXAKJPufVD4VP30o4fWo.cache +0 -2
  69. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/vt/vtslB-h9sglaV55iVgO8l86UBTtzDnuA6qzCy-vzujk.cache +0 -0
  70. data/test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/xD/xDLUWV68gWaS7IJWKWBAPzLcA0ALSjQHns0tsk0zY3s.cache +0 -0
  71. data/test/integration/prawn_rails_test.rb +0 -105
  72. data/test/prawn_rails_test.rb +0 -28
  73. data/test/test_helper.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ac0f78d8a8a1a3b0a4ed9fc10663d2932deb2297adba3b95ba6572de2218148
4
- data.tar.gz: e5ca3d10154db2cd49d0408248a19c4501ad4f95001ad9e6ba4295a2baaede6e
3
+ metadata.gz: 98ab6c1736809af9812490c14ccc652d5835462fe406116ea1d2dbb1e5c985a1
4
+ data.tar.gz: b561b81198ec9b3ddea346f4ade6be71f684a280fd00068c286c675748733554
5
5
  SHA512:
6
- metadata.gz: dbdbf5da9ca6bab323d9a5c6a2efaad5eed7c9506f1e5953986b1f885c93fbc75a1854ba09b52de2c86dd379b2b39a42389e81f48a9123c200de5d65e36d00e6
7
- data.tar.gz: 5ff405b51522c7c906e62d3fbc8eaa95ae51a595de245cb1a2cde692fbba85cc2c9e62075a38d2828c06f98b5c67ab0e811f99d8dac6713ecff125e30a0046b7
6
+ metadata.gz: 1a33b34482d7a7aa9bf834695b684abcc51e3fa6e5808d8792a1cfee4160100885877f4a68eec4e81055b403c301f528567a810fec864e9911cd684b08ece7af
7
+ data.tar.gz: e5c0b84bb673f92dd211554cde2966d93d027242552c93cd6d124498b26ab9ec4448cc1f3afd22227b139e09a55bd5cce21b99e0895c63152cee4fdb76c48d3c
data/CHANGELOG.md CHANGED
@@ -1,8 +1,18 @@
1
1
  # Changelog
2
2
 
3
- * `Unreleased` - [View Diff](https://github.com/cortiz/prawn-rails/compare/v1.4.2...master)
3
+ * `Unreleased` - [View Diff](https://github.com/cortiz/prawn-rails/compare/v1.6.0...master)
4
4
  - Nothing yet
5
5
 
6
+ * `v1.6.0` - [View Diff](https://github.com/cortiz/prawn-rails/compare/v1.5.0...v1.6.0)
7
+ - [#55](https://github.com/cortiz/prawn-rails/pull/55) - Add config options `additional_fonts` and `default_font_name`
8
+
9
+ * `v1.5.0` - [View Diff](https://github.com/cortiz/prawn-rails/compare/v1.4.2...v1.5.0)
10
+ - [#52](https://github.com/cortiz/prawn-rails/pull/52) - Add active_support as a dependency and use the active_support lazy load hooks
11
+ - [#51](https://github.com/cortiz/prawn-rails/pull/51) - Remove usage of openstruct for config object
12
+ - Remove unnecessary method `get_metadata` from `PrawnRailsHelper` which was getting included into `ActionView::Base`
13
+ - Remove unnecessary rescue in `PrawnRails.config`
14
+ - Remove redundant method `PrawnRails::Document.extensions`
15
+
6
16
  * `v1.4.2` - [View Diff](https://github.com/cortiz/prawn-rails/compare/v1.4.1...v1.4.2)
7
17
  - Remove dependency on `railsties` and instead only depend on `actionview`
8
18
 
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Prawn-Rails
2
2
  <a href="https://badge.fury.io/rb/prawn-rails" target="_blank"><img height="21" style='border:0px;height:21px;' border='0' src="https://badge.fury.io/rb/prawn-rails.svg" alt="Gem Version"></a>
3
- <a href='https://github.com/cortiz/prawn-rails/actions' target='_blank'><img src="https://github.com/cortiz/prawn-rails/workflows/Tests/badge.svg" style="max-width:100%;" height='21' style='border:0px;height:21px;' border='0' alt="CI Status"></a>
4
- <a href='https://rubygems.org/gems/prawn-rails' target='_blank'><img height='21' style='border:0px;height:21px;' src='https://ruby-gem-downloads-badge.herokuapp.com/prawn-rails?label=rubygems&type=total&total_label=downloads&color=brightgreen' border='0' alt='RubyGems Downloads' /></a>
3
+ <a href='https://github.com/cortiz/prawn-rails/actions' target='_blank'><img src="https://github.com/cortiz/prawn-rails/actions/workflows/test.yml/badge.svg?branch=master" style="max-width:100%;" height='21' style='border:0px;height:21px;' border='0' alt="CI Status"></a>
4
+ <a href='https://rubygems.org/gems/prawn-rails' target='_blank'><img height='21' style='border:0px;height:21px;' src='https://img.shields.io/gem/dt/prawn-rails?color=brightgreen&label=Rubygems%20Downloads' border='0' alt='RubyGems Downloads' /></a>
5
5
 
6
6
 
7
7
  # Install
@@ -60,9 +60,21 @@ Add a `prawn-rails.rb` config to your Rails app under `config/initializers` like
60
60
 
61
61
  ```ruby
62
62
  PrawnRails.config do |config|
63
+ # Prawn::Document options
63
64
  config.page_layout = :portrait
64
65
  config.page_size = "A4"
65
66
  config.skip_page_creation = false
67
+
68
+ # PrawnRails options
69
+ config.additional_fonts = {
70
+ "some-custom-font" => {
71
+ normal: Rails.root.join('app/assets/fonts/print/some-custom-font.ttf'),
72
+ italic: Rails.root.join('app/assets/fonts/print/some-custom-font-italic.ttf'),
73
+ bold: Rails.root.join('app/assets/fonts/print/some-custom-font-bold.ttf'),
74
+ bold_italic: Rails.root.join('app/assets/fonts/print/some-custom-font-bold-italic.ttf'),
75
+ },
76
+ }
77
+ config.default_font_name = "some-custom-font"
66
78
  end
67
79
  ```
68
80
 
@@ -103,6 +115,7 @@ prawn_document do |pdf|
103
115
  pdf.table @products.collect{|p| [p.name,p.price]}
104
116
  end
105
117
  ```
118
+
106
119
  #### Using Custom options
107
120
 
108
121
  ```ruby
@@ -113,6 +126,19 @@ prawn_document(page_layout: :landscape) do |pdf|
113
126
  end
114
127
  ```
115
128
 
129
+ #### Without using the prawn_document helper
130
+
131
+ ```ruby
132
+ doc = PrawnRails::Document.new(page_layout: :landscape)
133
+
134
+ doc.text "Page 1"
135
+ doc.start_new_page
136
+ doc.text "Page 2"
137
+
138
+ pdf_str = doc.render
139
+ ```
140
+
141
+
116
142
  # Credits
117
143
 
118
144
  Maintained by Weston Ganger - @westonganger
data/Rakefile CHANGED
File without changes
@@ -1,17 +1,37 @@
1
- require 'ostruct'
1
+ require "active_support/hash_with_indifferent_access"
2
2
 
3
3
  module PrawnRails
4
- extend self
4
+ class Config < HashWithIndifferentAccess
5
+ def method_missing(method_name, *args)
6
+ # to replace behaviour of previous openstruct-based configuration object
5
7
 
6
- @config = OpenStruct.new(page_layout: :portrait, page_size: "A4", skip_page_creation: false)
8
+ if method_name.to_s.end_with?("=")
9
+ if args.size >= 2
10
+ super # raise normal exception
11
+ end
7
12
 
8
- def config
9
- begin
10
- block_given? ? yield(@config) : @config
11
- rescue => e
12
- puts e
13
- puts e.backtrace
13
+ key = method_name.to_s.sub(/=$/, "")
14
+ self[key] = args.first
15
+ else
16
+ if args.any?
17
+ super # raise normal exception
18
+ else
19
+ self[method_name]
20
+ end
21
+ end
14
22
  end
15
23
  end
16
24
 
25
+ @config = Config.new.merge(
26
+ page_layout: :portrait,
27
+ page_size: "A4",
28
+ skip_page_creation: false,
29
+ additional_fonts: nil,
30
+ default_font_name: nil,
31
+ )
32
+
33
+ def config(&block)
34
+ block_given? ? yield(@config) : @config
35
+ end
36
+ module_function :config
17
37
  end
@@ -2,33 +2,35 @@ require 'prawn'
2
2
  require 'prawn/table'
3
3
 
4
4
  module PrawnRails
5
-
6
- # This derives from Prawn::Document in order to override defaults.
7
- # Note that the Prawn::Document behaviour itself shouldn't be changed.
8
5
  class Document < Prawn::Document
9
- def self.extensions
10
- Prawn::Document.extensions
11
- end
12
-
13
6
  def initialize(options = {})
14
- if PrawnRails.config.respond_to?(:to_h)
15
- options.reverse_merge!(PrawnRails.config.to_h)
16
- else
17
- options.reverse_merge!(PrawnRails.config.marshal_dump)
18
- end
7
+ options = PrawnRails.config.except(:additional_fonts, :default_font_name).merge(options)
19
8
 
20
9
  super(options)
21
10
  end
22
11
 
23
- # 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:
24
- #
25
- # pdf.text 10 #=> fails because 10 is not a string
26
- # pdf.text 10.to_s #=> works
27
- #
28
- # To circumvent this situation, we call to_s on value, and delegate action to actual Prawn::Document.
29
12
  def text(value, options = {})
13
+ # 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:
14
+ # pdf.text 10 #=> fails because 10 is not a string
15
+ # pdf.text 10.to_s #=> works
16
+ # To circumvent this situation, we call to_s on value, and delegate action to actual Prawn::Document
30
17
  super(value.to_s, options)
31
18
  end
32
- end
33
19
 
20
+ def start_new_page(options = {})
21
+ return_val = super
22
+
23
+ if state.page_count == 1
24
+ if PrawnRails.config.additional_fonts
25
+ font_families.update(PrawnRails.config.additional_fonts)
26
+ end
27
+
28
+ if PrawnRails.config.default_font_name
29
+ font(PrawnRails.config.default_font_name)
30
+ end
31
+ end
32
+
33
+ return_val
34
+ end
35
+ end
34
36
  end
@@ -6,7 +6,13 @@ module PrawnRails
6
6
  def prawn_document(options={})
7
7
  @filename ||= options[:filename]
8
8
 
9
- options.reverse_merge!(get_metadata)
9
+ metadata = {}
10
+
11
+ if @filename
12
+ metadata[:info] = { Title: @filename.sub(/\.pdf$/i, '') }
13
+ end
14
+
15
+ options.reverse_merge!(metadata)
10
16
 
11
17
  pdf = PrawnRails::Document.new(options)
12
18
 
@@ -24,15 +30,5 @@ module PrawnRails
24
30
  return pdf.render
25
31
  end
26
32
 
27
- def get_metadata
28
- return {} unless @filename
29
-
30
- {
31
- info: {
32
- Title: @filename.sub(/\.pdf$/i, '')
33
- }
34
- }
35
- end
36
-
37
33
  end
38
34
  end
@@ -1,3 +1,3 @@
1
1
  module PrawnRails
2
- VERSION = "1.4.2"
2
+ VERSION = "1.6.0".freeze
3
3
  end
data/lib/prawn-rails.rb CHANGED
@@ -3,15 +3,19 @@ require "prawn"
3
3
  require "prawn-rails/version"
4
4
  require "prawn-rails/config"
5
5
 
6
- require "prawn-rails/rails_helper"
7
- require "prawn-rails/renderer"
6
+ require 'active_support/lazy_load_hooks'
8
7
 
9
- ActionView::Base.send(:include, PrawnRails::RailsHelper)
10
- ActionView::Template.register_template_handler(:prawn, PrawnRails::Renderer)
11
-
12
- unless Mime::Type.lookup_by_extension(:pdf)
13
- Mime::Type.register_alias("application/pdf", :pdf)
8
+ module PrawnRails
14
9
  end
15
10
 
16
- module PrawnRails
11
+ ActiveSupport.on_load(:action_view) do
12
+ unless Mime::Type.lookup_by_extension(:pdf)
13
+ Mime::Type.register_alias("application/pdf", :pdf)
14
+ end
15
+
16
+ require "prawn-rails/rails_helper"
17
+ require "prawn-rails/renderer"
18
+
19
+ ActionView::Base.send(:include, PrawnRails::RailsHelper)
20
+ ActionView::Template.register_template_handler(:prawn, PrawnRails::Renderer)
17
21
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prawn-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carlos Ortiz
8
8
  - Weston Ganger
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-05-27 00:00:00.000000000 Z
12
+ date: 2024-12-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: prawn
@@ -54,35 +54,21 @@ dependencies:
54
54
  - !ruby/object:Gem::Version
55
55
  version: 3.1.0
56
56
  - !ruby/object:Gem::Dependency
57
- name: pdf-reader
57
+ name: activesupport
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: '0'
63
- type: :development
64
- prerelease: false
65
- version_requirements: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
- - !ruby/object:Gem::Dependency
71
- name: rake
72
- requirement: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: '0'
77
- type: :development
62
+ version: 3.1.0
63
+ type: :runtime
78
64
  prerelease: false
79
65
  version_requirements: !ruby/object:Gem::Requirement
80
66
  requirements:
81
67
  - - ">="
82
68
  - !ruby/object:Gem::Version
83
- version: '0'
69
+ version: 3.1.0
84
70
  - !ruby/object:Gem::Dependency
85
- name: minitest
71
+ name: pdf-reader
86
72
  requirement: !ruby/object:Gem::Requirement
87
73
  requirements:
88
74
  - - ">="
@@ -96,7 +82,7 @@ dependencies:
96
82
  - !ruby/object:Gem::Version
97
83
  version: '0'
98
84
  - !ruby/object:Gem::Dependency
99
- name: bundler
85
+ name: rake
100
86
  requirement: !ruby/object:Gem::Requirement
101
87
  requirements:
102
88
  - - ">="
@@ -110,7 +96,7 @@ dependencies:
110
96
  - !ruby/object:Gem::Version
111
97
  version: '0'
112
98
  - !ruby/object:Gem::Dependency
113
- name: rails
99
+ name: minitest
114
100
  requirement: !ruby/object:Gem::Requirement
115
101
  requirements:
116
102
  - - ">="
@@ -124,7 +110,7 @@ dependencies:
124
110
  - !ruby/object:Gem::Version
125
111
  version: '0'
126
112
  - !ruby/object:Gem::Dependency
127
- name: sqlite3
113
+ name: pry
128
114
  requirement: !ruby/object:Gem::Requirement
129
115
  requirements:
130
116
  - - ">="
@@ -138,7 +124,7 @@ dependencies:
138
124
  - !ruby/object:Gem::Version
139
125
  version: '0'
140
126
  - !ruby/object:Gem::Dependency
141
- name: appraisal
127
+ name: warning
142
128
  requirement: !ruby/object:Gem::Requirement
143
129
  requirements:
144
130
  - - ">="
@@ -152,7 +138,7 @@ dependencies:
152
138
  - !ruby/object:Gem::Version
153
139
  version: '0'
154
140
  - !ruby/object:Gem::Dependency
155
- name: warning
141
+ name: matrix
156
142
  requirement: !ruby/object:Gem::Requirement
157
143
  requirements:
158
144
  - - ">="
@@ -181,74 +167,11 @@ files:
181
167
  - lib/prawn-rails/rails_helper.rb
182
168
  - lib/prawn-rails/renderer.rb
183
169
  - lib/prawn-rails/version.rb
184
- - test/dummy_app/Rakefile
185
- - test/dummy_app/app/assets/config/manifest.js
186
- - test/dummy_app/app/assets/javascripts/application.js
187
- - test/dummy_app/app/assets/stylesheets/application.css
188
- - test/dummy_app/app/controllers/application_controller.rb
189
- - test/dummy_app/app/controllers/reports_controller.rb
190
- - test/dummy_app/app/mailers/reports_mailer.rb
191
- - test/dummy_app/app/views/layouts/application.html.erb
192
- - test/dummy_app/app/views/reports/custom.pdf.prawn
193
- - test/dummy_app/app/views/reports/custom_disposition.pdf.prawn
194
- - test/dummy_app/app/views/reports/custom_filename.pdf.prawn
195
- - test/dummy_app/app/views/reports/sample.html.erb
196
- - test/dummy_app/app/views/reports/sample.pdf.prawn
197
- - test/dummy_app/app/views/reports/table.pdf.prawn
198
- - test/dummy_app/app/views/reports_mailer/send_report.html.erb
199
- - test/dummy_app/config.ru
200
- - test/dummy_app/config/application.rb
201
- - test/dummy_app/config/boot.rb
202
- - test/dummy_app/config/database.yml
203
- - test/dummy_app/config/environment.rb
204
- - test/dummy_app/config/environments/development.rb
205
- - test/dummy_app/config/environments/production.rb
206
- - test/dummy_app/config/environments/test.rb
207
- - test/dummy_app/config/initializers/backtrace_silencers.rb
208
- - test/dummy_app/config/initializers/inflections.rb
209
- - test/dummy_app/config/initializers/mime_types.rb
210
- - test/dummy_app/config/initializers/prawn-rails.rb
211
- - test/dummy_app/config/initializers/secret_token.rb
212
- - test/dummy_app/config/initializers/session_store.rb
213
- - test/dummy_app/config/initializers/wrap_parameters.rb
214
- - test/dummy_app/config/locales/en.yml
215
- - test/dummy_app/config/routes.rb
216
- - test/dummy_app/config/secrets.yml
217
- - test/dummy_app/db/schema.rb
218
- - test/dummy_app/db/test.sqlite3
219
- - test/dummy_app/log/test.log
220
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/0o/0og-K-ORl6wO02dgU3z8beSXSGOCdnEFcX6KEtXqG2Q.cache
221
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/2V/2VONmeO4ClBgY1gjdZLYo9wQjDG9Ef9sAuwWVxceLEk.cache
222
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/34/34uQaon4nFa_kXcNF-1ac-QhL_HKtstSnb2pGjYCb6w.cache
223
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/3N/3NnKgR2TsTI1qCXKZpts0uJzp2dRJcoYp3nnFU6YE4o.cache
224
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/43/43Xh_xLNBt5kEi4-pWc5m0pFDLIhkNAxyiBf-3E2UJw.cache
225
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/4O/4O6Anm3R8aSIVfMhGtp5tZK3x17fcY1SbWoDN_6hb-o.cache
226
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/8x/8x5zY49XOU4gtdILE9T8l00lhs-lUJ6zzl5hyxjaFzw.cache
227
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/AT/ATEwOxnm0kBLQ6bdeFkXutl92AMg1dA40zmBqy2f2Ng.cache
228
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Ag/AgeZ6zQVNy2sDfEUqjxoVLoCsGo6rA27SUQoJFjqCqY.cache
229
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Dj/DjIeso8fWA-cG6Y9zSr3T0rPtpS6V73u3Q234QgSLa8.cache
230
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Do/Do83AoOat5W-c1g7piDGy2GMmffsY6JY0Qfuh5PY3GM.cache
231
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/E_/E_ZbvXNGsLYdwZdD1F159gQCYVGJrWgaip0GlUx9B68.cache
232
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/LR/LRLaw7viwBb9Mi_VFZxGbKIooy8Fqf1aB_iOTETsMyc.cache
233
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Lk/LkuzadDEF5r9a_QBFvWJ5krc5aerVbxs4zJ19iztB38.cache
234
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Mj/MjwYGG9GkHD1fwwH2bg66EBYl3zCA_mqeDF9otey4-U.cache
235
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Uc/UcQ6dMoNX10N68Sv8qxPf7kahPOJ5pqzYWkbjDKyF1k.cache
236
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/cp/cp36yIX2yPJBfhw6EA0u-BWnvFazmGC8zKxglna59TI.cache
237
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/dt/dteXKuRtjT5JiLleDPqnTNJFalNEbck9vA19hE6rGyw.cache
238
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/hy/hyxqCkBWzkpfHLCqW3YJeQq93KRADVcxEEMz0o0We_w.cache
239
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/k6/k6DfQWIBNnOJUNVvE59mXcoCzMB9D6i0p1WuJZGANoQ.cache
240
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/kR/kRjL0yRqyeZXZk93BSxxJULpCv-rJ3QvC23X4W94RNA.cache
241
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/pv/pv6tV3CDkIAmLXdU8EPLlNEkXAKJPufVD4VP30o4fWo.cache
242
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/vt/vtslB-h9sglaV55iVgO8l86UBTtzDnuA6qzCy-vzujk.cache
243
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/xD/xDLUWV68gWaS7IJWKWBAPzLcA0ALSjQHns0tsk0zY3s.cache
244
- - test/integration/prawn_rails_test.rb
245
- - test/prawn_rails_test.rb
246
- - test/test_helper.rb
247
170
  homepage: https://github.com/cortiz/prawn-rails
248
171
  licenses:
249
172
  - MIT
250
173
  metadata: {}
251
- post_install_message:
174
+ post_install_message:
252
175
  rdoc_options: []
253
176
  require_paths:
254
177
  - lib
@@ -263,71 +186,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
263
186
  - !ruby/object:Gem::Version
264
187
  version: '0'
265
188
  requirements: []
266
- rubygems_version: 3.1.4
267
- signing_key:
189
+ rubygems_version: 3.4.22
190
+ signing_key:
268
191
  specification_version: 4
269
192
  summary: Prawn Handler for Rails
270
- test_files:
271
- - test/integration/prawn_rails_test.rb
272
- - test/prawn_rails_test.rb
273
- - test/test_helper.rb
274
- - test/dummy_app/app/mailers/reports_mailer.rb
275
- - test/dummy_app/app/controllers/application_controller.rb
276
- - test/dummy_app/app/controllers/reports_controller.rb
277
- - test/dummy_app/app/views/reports_mailer/send_report.html.erb
278
- - test/dummy_app/app/views/layouts/application.html.erb
279
- - test/dummy_app/app/views/reports/custom_filename.pdf.prawn
280
- - test/dummy_app/app/views/reports/custom_disposition.pdf.prawn
281
- - test/dummy_app/app/views/reports/custom.pdf.prawn
282
- - test/dummy_app/app/views/reports/sample.pdf.prawn
283
- - test/dummy_app/app/views/reports/table.pdf.prawn
284
- - test/dummy_app/app/views/reports/sample.html.erb
285
- - test/dummy_app/app/assets/config/manifest.js
286
- - test/dummy_app/app/assets/javascripts/application.js
287
- - test/dummy_app/app/assets/stylesheets/application.css
288
- - test/dummy_app/config/secrets.yml
289
- - test/dummy_app/config/routes.rb
290
- - test/dummy_app/config/locales/en.yml
291
- - test/dummy_app/config/environments/production.rb
292
- - test/dummy_app/config/environments/development.rb
293
- - test/dummy_app/config/environments/test.rb
294
- - test/dummy_app/config/environment.rb
295
- - test/dummy_app/config/application.rb
296
- - test/dummy_app/config/database.yml
297
- - test/dummy_app/config/boot.rb
298
- - test/dummy_app/config/initializers/backtrace_silencers.rb
299
- - test/dummy_app/config/initializers/mime_types.rb
300
- - test/dummy_app/config/initializers/session_store.rb
301
- - test/dummy_app/config/initializers/wrap_parameters.rb
302
- - test/dummy_app/config/initializers/prawn-rails.rb
303
- - test/dummy_app/config/initializers/secret_token.rb
304
- - test/dummy_app/config/initializers/inflections.rb
305
- - test/dummy_app/config.ru
306
- - test/dummy_app/Rakefile
307
- - test/dummy_app/db/schema.rb
308
- - test/dummy_app/db/test.sqlite3
309
- - test/dummy_app/log/test.log
310
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/vt/vtslB-h9sglaV55iVgO8l86UBTtzDnuA6qzCy-vzujk.cache
311
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/pv/pv6tV3CDkIAmLXdU8EPLlNEkXAKJPufVD4VP30o4fWo.cache
312
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/34/34uQaon4nFa_kXcNF-1ac-QhL_HKtstSnb2pGjYCb6w.cache
313
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/hy/hyxqCkBWzkpfHLCqW3YJeQq93KRADVcxEEMz0o0We_w.cache
314
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Do/Do83AoOat5W-c1g7piDGy2GMmffsY6JY0Qfuh5PY3GM.cache
315
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/dt/dteXKuRtjT5JiLleDPqnTNJFalNEbck9vA19hE6rGyw.cache
316
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Lk/LkuzadDEF5r9a_QBFvWJ5krc5aerVbxs4zJ19iztB38.cache
317
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/43/43Xh_xLNBt5kEi4-pWc5m0pFDLIhkNAxyiBf-3E2UJw.cache
318
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Uc/UcQ6dMoNX10N68Sv8qxPf7kahPOJ5pqzYWkbjDKyF1k.cache
319
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/0o/0og-K-ORl6wO02dgU3z8beSXSGOCdnEFcX6KEtXqG2Q.cache
320
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/3N/3NnKgR2TsTI1qCXKZpts0uJzp2dRJcoYp3nnFU6YE4o.cache
321
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Ag/AgeZ6zQVNy2sDfEUqjxoVLoCsGo6rA27SUQoJFjqCqY.cache
322
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/kR/kRjL0yRqyeZXZk93BSxxJULpCv-rJ3QvC23X4W94RNA.cache
323
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Dj/DjIeso8fWA-cG6Y9zSr3T0rPtpS6V73u3Q234QgSLa8.cache
324
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/k6/k6DfQWIBNnOJUNVvE59mXcoCzMB9D6i0p1WuJZGANoQ.cache
325
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/Mj/MjwYGG9GkHD1fwwH2bg66EBYl3zCA_mqeDF9otey4-U.cache
326
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/AT/ATEwOxnm0kBLQ6bdeFkXutl92AMg1dA40zmBqy2f2Ng.cache
327
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/E_/E_ZbvXNGsLYdwZdD1F159gQCYVGJrWgaip0GlUx9B68.cache
328
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/LR/LRLaw7viwBb9Mi_VFZxGbKIooy8Fqf1aB_iOTETsMyc.cache
329
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/cp/cp36yIX2yPJBfhw6EA0u-BWnvFazmGC8zKxglna59TI.cache
330
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/8x/8x5zY49XOU4gtdILE9T8l00lhs-lUJ6zzl5hyxjaFzw.cache
331
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/2V/2VONmeO4ClBgY1gjdZLYo9wQjDG9Ef9sAuwWVxceLEk.cache
332
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/4O/4O6Anm3R8aSIVfMhGtp5tZK3x17fcY1SbWoDN_6hb-o.cache
333
- - test/dummy_app/tmp/cache/assets/sprockets/v4.0.0/xD/xDLUWV68gWaS7IJWKWBAPzLcA0ALSjQHns0tsk0zY3s.cache
193
+ test_files: []
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env rake
2
- # Add your own tasks in files placed in lib/tasks ending in .rake,
3
- # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
4
-
5
- require File.expand_path('../config/application', __FILE__)
6
-
7
- Dummy::Application.load_tasks
@@ -1,3 +0,0 @@
1
- //= link_tree ../images
2
- //= link_directory ../javascripts .js
3
- //= link_directory ../stylesheets .css
File without changes
@@ -1,3 +0,0 @@
1
- /*
2
- *= require_self
3
- */
@@ -1,3 +0,0 @@
1
- class ApplicationController < ActionController::Base
2
- protect_from_forgery
3
- end
@@ -1,37 +0,0 @@
1
- class ReportsController < ApplicationController
2
-
3
- def sample
4
- @items = [
5
- {name: "Hello"},
6
- {name: "World"},
7
- ]
8
- end
9
-
10
- def table
11
- @items = [
12
- [1,2,3],
13
- [4,5,6],
14
- [7,8,9],
15
- ]
16
- end
17
-
18
- def custom_filename
19
- end
20
-
21
- def custom_disposition
22
- end
23
-
24
- def custom
25
- end
26
-
27
- def ivar_filename
28
- @filename = "ivar-filename.pdf"
29
- render :custom
30
- end
31
-
32
- def custom_headers
33
- headers['Content-Disposition'] = "attachment;filename=\"custom-headers.pdf\""
34
- render :custom
35
- end
36
-
37
- end
@@ -1,18 +0,0 @@
1
- class ReportsMailer < ActionMailer::Base
2
- def send_report
3
- @items = [
4
- {name: "Hello"},
5
- {name: "World"},
6
- ]
7
-
8
- attachments["report.pdf"] = {
9
- mime_type: "application/pdf",
10
- content: render_to_string("reports/sample", formats: [:pdf]),
11
- }
12
-
13
- mail({
14
- to: "user@example.com",
15
- subject: "Reports",
16
- })
17
- end
18
- end
@@ -1,14 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Dummy App</title>
5
- <%= stylesheet_link_tag "application" %>
6
- <%= javascript_include_tag "application" %>
7
- <%= csrf_meta_tags %>
8
- </head>
9
- <body>
10
-
11
- <%= yield %>
12
-
13
- </body>
14
- </html>
@@ -1,3 +0,0 @@
1
- prawn_document(filename: "from-options.pdf", disposition: "attachment") do |pdf|
2
- pdf.text "Hello World!"
3
- end
@@ -1,3 +0,0 @@
1
- prawn_document(disposition: "attachment") do |pdf|
2
- pdf.text "Hello World!"
3
- end
@@ -1,3 +0,0 @@
1
- prawn_document(filename: "from-options.pdf") do |pdf|
2
- pdf.text "Hello World!"
3
- end
@@ -1 +0,0 @@
1
- <h1>Hello World!</h1>