postdoc 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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/postdoc.rb +16 -9
  3. metadata +6 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d21422293d756a0a95e7a697efcf2d35e9d8fc558124d8a665c05c5e3eef2e3d
4
- data.tar.gz: bbfda4ff89ce4066f8ea2ea1da1190ce30c21990508db035c05aa733dc1e9014
3
+ metadata.gz: 4fd07fd7a356f5e41dd00199937c8824010562d255d6539e59398e3fb55c0f79
4
+ data.tar.gz: e89f06d78b8bd657ccfd52a2b079eea7035e1b77fda5380e6bc6f7a1f315e254
5
5
  SHA512:
6
- metadata.gz: 32451b802853cbe1e0383ae26e7c264956cf136c0703c7e3cbdbd3ff4d5d8364db2c5647aa010d196c70b9759dfeff7668d0caff1750ee8e3600a688e13ad56b
7
- data.tar.gz: 7ee471438ee718694588e0b1827e601e6a4b68b22685c937e76a97448d9fc64a50f3010d02fc0c0a50d0679da894290b9db77fffab9a39458c021c583d5abb57
6
+ metadata.gz: '088597cc28cad883de3f539aa2e6e373285fa55b17cad6a17e619febce77d747c9174e0f2c6b1cca1d3583140b42f32e8b87c86bfdd3ae15361a9e36c6d3d945'
7
+ data.tar.gz: 84d58a0ea2eeacbef730c0ac47d356125f934fe1e5cfe013cffcf87b5224e5af517b229e60f305f3dbb42e9d5ce753978ff615995a871de91cceebf2d056af4f
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'chrome_remote'
2
4
 
3
5
  module Postdoc
4
- ActionController::Renderers.add :pdf do |filename, options|
6
+ ActionController::Renderers.add :pdf do |_filename, options|
5
7
  Postdoc.render_from_string render_to_string(options), options
6
8
  end
7
9
 
@@ -11,18 +13,19 @@ module Postdoc
11
13
  htmlfile.write string
12
14
  htmlfile.flush
13
15
 
14
- # random port at 1025 or higher
15
- random_port = 1024 + Random.rand(65535 - 1024)
16
-
17
- pid = Process.spawn "chrome --remote-debugging-port=#{random_port} --headless"
16
+ if options[:client].nil?
17
+ # random port at 1025 or higher
18
+ random_port = 1024 + Random.rand(65_535 - 1024)
19
+ pid = Process.spawn "chrome --remote-debugging-port=#{random_port} --headless"
20
+ end
18
21
 
19
22
  # FIXME
20
23
  sleep 1
21
24
 
22
25
  begin
23
- chrome = ChromeRemote.client port: random_port
24
- chrome.send_cmd 'Page.enable'
26
+ chrome = options[:client].nil? ? ChromeRemote.client(port: random_port) : options[:client]
25
27
 
28
+ chrome.send_cmd 'Page.enable'
26
29
  chrome.send_cmd 'Page.navigate', url: "file://#{htmlfile.path}"
27
30
  chrome.wait_for 'Page.loadEventFired'
28
31
 
@@ -43,8 +46,12 @@ module Postdoc
43
46
  }
44
47
  result = Base64.decode64 response['data']
45
48
  ensure
46
- Process.kill 'KILL', pid
47
- Process.wait pid
49
+ if options[:client].nil?
50
+ Process.kill 'KILL', pid
51
+ Process.wait pid
52
+ else
53
+ chrome.send_cmd 'Page.close'
54
+ end
48
55
 
49
56
  htmlfile.close
50
57
  htmlfile.unlink
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: postdoc
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
  - Frank Groeneveld
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-13 00:00:00.000000000 Z
11
+ date: 2020-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -58,7 +58,7 @@ homepage: https://github.com/ivaldi/postdoc
58
58
  licenses:
59
59
  - BSD-2-Clause
60
60
  metadata: {}
61
- post_install_message:
61
+ post_install_message:
62
62
  rdoc_options: []
63
63
  require_paths:
64
64
  - lib
@@ -73,8 +73,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
75
  requirements: []
76
- rubygems_version: 3.0.3
77
- signing_key:
76
+ rubygems_version: 3.1.4
77
+ signing_key:
78
78
  specification_version: 4
79
79
  summary: Summary of Postdoc.
80
80
  test_files: []