pixelpress 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
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