pixelpress 0.2.3 → 0.2.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 24eff3a06b1b330d3a9618581272a409bc112f644d8b5a94d4d03f7170ffc0a9
4
- data.tar.gz: ae9057f69cc37d850d919f9857a91f8471935fce34d304230fc777fba5ad0e6e
3
+ metadata.gz: 782b07b9c03d277295111b77493c42006a0d7686e1e50979445d08e11a81edd6
4
+ data.tar.gz: a4c306828a2fc1eab01e293c1b95e6f5fa2f79cbe2dd7329bfa4e4155b253b7e
5
5
  SHA512:
6
- metadata.gz: 3942b17edb046e095dd4dcac758690eedc5211875a8fd61b7f99e1d347f126d3e0f2f8a3835896136ed218d454bae5a38219ea4a692953d54268701cbb2269f9
7
- data.tar.gz: e623bd0e8dcc209df47b7c9f8241e2ca2848b9449338f8511d9050da0e5b02b75e7edfbd8c6326451dda197a9f57eccb19066e492276b0302ef81cd547e59f00
6
+ metadata.gz: b276bc5202e92cd37bb3f9b44562679d370fcdbe9ada8a904dc6a3554f5b2514ece4b8c3f9b4718934629ce9d3ffca011101152cbeb5708d2ca0a1fb9ec90716
7
+ data.tar.gz: 4f0c0c189702bbd2f7a117dff0c6e1d53e75a859790c3ea86b54b64ac2a08f7eb304de803caae6d88d38900dae3fa0dc717650a763e744e16a302526e18b8394
@@ -11,5 +11,10 @@ jobs:
11
11
  uses: ruby/setup-ruby@v1
12
12
  with:
13
13
  bundler-cache: true
14
- - name: Lint Ruby
14
+ - name: Install dependencies
15
+ uses: awalsh128/cache-apt-pkgs-action@latest
16
+ with:
17
+ packages: weasyprint
18
+ version: 1.0
19
+ - name: Test
15
20
  run: bundle exec rspec
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.1.3
1
+ 3.1.4
data/Gemfile CHANGED
@@ -8,3 +8,4 @@ gem 'bundler'
8
8
  gem 'pry-byebug'
9
9
  gem 'rake'
10
10
  gem 'rspec', '~> 3.0'
11
+ gem 'generator_spec', '~> 0.9.3'
@@ -1,7 +1,29 @@
1
- require 'weasyprint'
2
-
3
1
  class Pixelpress::WeasyPrintRenderer
4
2
  def render(html)
5
- WeasyPrint.new(html).to_pdf
3
+
4
+ command = "#{executable_path} --encoding UTF-8 - -"
5
+
6
+ error = nil
7
+ result = nil
8
+ process = nil
9
+ Open3.popen3(command) do |stdin, stdout, stderr, thread|
10
+ stdin.puts html
11
+ stdin.close_write
12
+ result = stdout.read
13
+ error = stderr.read
14
+ process = thread.value
15
+ end
16
+ raise "command failed (exitstatus=#{result.exitstatus}): #{command}\n #{error}" unless process.success?
17
+ return result
18
+ end
19
+
20
+ def version
21
+ `#{executable_path} --version`.chomp.scan(/(\d+\.\d+)/).flatten.first
22
+ end
23
+
24
+ private
25
+
26
+ def executable_path
27
+ `which weasyprint`.chomp || raise(StandardError, "could not find weasyprint")
6
28
  end
7
29
  end
@@ -1,28 +1,21 @@
1
1
  module Pixelpress
2
2
  module Rendering
3
- module ClassMethods
4
- attr_writer :default_renderer
5
- def default_renderer
6
- @default_renderer ||= WeasyPrintRenderer.new
7
- end
8
- end
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+ class_attribute :renderer, default: WeasyPrintRenderer.new
9
7
 
10
- def self.included(base)
11
- base.extend(ClassMethods)
12
- end
13
-
14
- def document
15
- @document ||= Document.new render_to_string(template), renderer, file_name: try(:file_name)
16
- end
17
-
18
- protected
8
+ def document
9
+ @document ||= Document.new render_to_string(template), renderer, file_name: try(:file_name)
10
+ end
19
11
 
20
- def renderer
21
- @renderer || self.class.default_renderer
22
- end
12
+ protected
13
+
14
+ delegate :renderer, to: :class
23
15
 
24
- def template
25
- ['printers', controller_path.sub('_printer', ''), @template_name].join('/')
16
+ def template
17
+ ['printers', controller_path.sub('_printer', ''), @template_name].join('/')
18
+ end
26
19
  end
27
20
  end
28
21
  end
@@ -1,3 +1,3 @@
1
1
  module Pixelpress
2
- VERSION = '0.2.3'.freeze
2
+ VERSION = '0.2.4'.freeze
3
3
  end
data/pixelpress.gemspec CHANGED
@@ -6,8 +6,8 @@ require 'pixelpress/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'pixelpress'
8
8
  spec.version = Pixelpress::VERSION
9
- spec.authors = ['Alex']
10
- spec.email = ['aleksandra@nerdgeschoss.de']
9
+ spec.authors = ['Alex', 'Jens Ravens']
10
+ spec.email = ['aleksandra@nerdgeschoss.de', 'jens@nerdgeschoss.de']
11
11
 
12
12
  spec.summary = 'PDF printer'
13
13
  spec.homepage = 'https://github.com/nerdgeschoss/pixelpress'
@@ -21,6 +21,5 @@ Gem::Specification.new do |spec|
21
21
  spec.require_paths = ['lib']
22
22
 
23
23
  spec.add_dependency 'actionpack'
24
- spec.add_dependency 'weasyprint'
25
- spec.add_dependency 'generator_spec', '~> 0.9.3'
24
+ spec.add_dependency 'activesupport'
26
25
  end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pixelpress
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex
8
+ - Jens Ravens
8
9
  autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2023-01-24 00:00:00.000000000 Z
12
+ date: 2023-10-25 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: actionpack
@@ -25,7 +26,7 @@ dependencies:
25
26
  - !ruby/object:Gem::Version
26
27
  version: '0'
27
28
  - !ruby/object:Gem::Dependency
28
- name: weasyprint
29
+ name: activesupport
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
32
  - - ">="
@@ -38,23 +39,10 @@ dependencies:
38
39
  - - ">="
39
40
  - !ruby/object:Gem::Version
40
41
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: generator_spec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 0.9.3
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 0.9.3
55
42
  description:
56
43
  email:
57
44
  - aleksandra@nerdgeschoss.de
45
+ - jens@nerdgeschoss.de
58
46
  executables: []
59
47
  extensions: []
60
48
  extra_rdoc_files: []
@@ -72,7 +60,6 @@ files:
72
60
  - app/views/pixelpress/printers/index.html.erb
73
61
  - bin/console
74
62
  - bin/setup
75
- - bundle
76
63
  - config/routes.rb
77
64
  - lib/generators/pixelpress/printer/USAGE
78
65
  - lib/generators/pixelpress/printer/printer_generator.rb
data/bundle DELETED
File without changes