postdoc 0.2.3 → 0.2.4

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