isomorfeus-puppetmaster 0.2.7 → 0.2.8

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: 8f15c0b872ebe70bef076652ef336ff2078272f0500bf078e0b64ca65ba309f7
4
- data.tar.gz: 4c41a2e0a19c94834fd4324ec2d74451e7b899a34796f415fd008b977868eade
3
+ metadata.gz: 69207b6e61550c662682e11d237709f62f01e6d12b6282b9c239325dde35336d
4
+ data.tar.gz: 8ec945e61d1aa91be2765824468c9b64f60efcd1d24f61a1bc3998303fb489d1
5
5
  SHA512:
6
- metadata.gz: 0d7fef5d59b4262966162516dc38ebcabcdf04d60fc3d62d8cf34c83134fe950e50a55144379d89014bf19e5897850ed5203864d005b64c964cc9ee0c5420c87
7
- data.tar.gz: 53aaaa7dd30bca066de6cf2254322d9ceaabbbc8295cbe4703f47aec44df42318bb661023b22a89d696dc7a35ff438e5c0619cd21b1573657d453ce7d2336f21
6
+ metadata.gz: 26d40a97edbea084811349728123e200d7fe056a94115f04a4445322148c266666810d80d3110cb2cd3362759b53d1dc01a4fd2e0d7f6d296f5b07e0196d5f57
7
+ data.tar.gz: e1db2b3df0fb3b4c3fddf77ec2d65eed0b4ec05779a4e3e7e7cbbcb4f866882105cb00989af2df84e0002d39a338a51ff71f8a955f07f2d0ec0c0e51480946e1
@@ -69,6 +69,35 @@ module Isomorfeus
69
69
  @driver.browser
70
70
  end
71
71
 
72
+ def await_ruby(ruby_source = '', &block)
73
+ ruby_source = Isomorfeus::Puppetmaster.block_source_code(&block) if block_given?
74
+ ruby_source = "#{ruby_source}.then { |result| $promise_result = result; $promise_resolved = true }"
75
+ compiled_ruby = compile_ruby_source(ruby_source)
76
+ if compiled_ruby.start_with?('/*')
77
+ start_of_code = compiled_ruby.index('*/') + 3
78
+ compiled_ruby = compiled_ruby[start_of_code..-1]
79
+ end
80
+ evaluate_script <<~JAVASCRIPT
81
+ (function(){
82
+ Opal.gvars.promise_resolved = false;
83
+ return #{compiled_ruby}
84
+ })()
85
+ JAVASCRIPT
86
+ have_result = false
87
+ until have_result do
88
+ have_result = evaluate_script 'Opal.gvars.promise_resolved'
89
+ sleep 0.1 unless have_result
90
+ end
91
+ execute_script <<~JAVASCRIPT
92
+ var result;
93
+ if (typeof Opal.gvars.promise_result.$to_n === 'function') { result = Opal.gvars.promise_result.$to_n(); }
94
+ else { result = Opal.gvars.promise_result };
95
+ delete Opal.gvars.promise_result;
96
+ delete Opal.gvars.promise_resolved;
97
+ return result;
98
+ JAVASCRIPT
99
+ end
100
+
72
101
  def evaluate_ruby(ruby_source = '', &block)
73
102
  ruby_source = Isomorfeus::Puppetmaster.block_source_code(&block) if block_given?
74
103
  compiled_ruby = compile_ruby_source(ruby_source)
@@ -297,7 +297,7 @@ module Isomorfeus
297
297
  def node_evaluate_script(node, script, *args)
298
298
  await <<~JAVASCRIPT
299
299
  var node_handle = #{node.handle};
300
- await AllElementHandles[node_handle].executionContext().evaluateHandle((node, arguments) => {
300
+ handle = await AllElementHandles[node_handle].executionContext().evaluateHandle((node, arguments) => {
301
301
  arguments.unshift(node);
302
302
  return #{script};
303
303
  }, AllElementHandles[node_handle], #{args[1..-1]});
@@ -571,13 +571,7 @@ module Isomorfeus
571
571
  def node_style(node, *styles)
572
572
  await <<~JAVASCRIPT
573
573
  var handle = await AllElementHandles[#{node.handle}].executionContext().evaluateHandle(function(node, styles){
574
- var style = window.getComputedStyle(node);
575
- if (styles.length > 0) {
576
- return styles.reduce(function(res,name) {
577
- res[name] = style[name];
578
- return res;
579
- }, {});
580
- } else { return style; }
574
+ return = window.getComputedStyle(node);
581
575
  }, AllElementHandles[#{node.handle}], #{styles});
582
576
  LastResult = await handle.jsonValue();
583
577
  JAVASCRIPT
@@ -35,10 +35,7 @@ Isomorfeus::Puppetmaster.register_server :iodine do |app, port, host, **options|
35
35
  raise LoadError, "Unable to load 'iodine' as server."
36
36
  end
37
37
 
38
- puts 'Puppetmaster starting Iodine...'
39
- puts "* Version #{Iodine::VERSION}"
40
-
41
- Iodine::Rack.run(app, { Host: host, Port: port }.merge(options)).join
38
+ Iodine::Rack.run(app, { Host: host, Port: port }.merge(options))
42
39
  end
43
40
 
44
41
  Isomorfeus::Puppetmaster.register_server :puma do |app, port, host, **options|
@@ -1,3 +1,3 @@
1
1
  module Isomorfeus
2
- PUPPETMASTER_VERSION = '0.2.7'
2
+ PUPPETMASTER_VERSION = '0.2.8'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-puppetmaster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-23 00:00:00.000000000 Z
11
+ date: 2019-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.2.2
33
+ version: 0.2.3
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.2.2
40
+ version: 0.2.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: method_source
43
43
  requirement: !ruby/object:Gem::Requirement