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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69207b6e61550c662682e11d237709f62f01e6d12b6282b9c239325dde35336d
|
4
|
+
data.tar.gz: 8ec945e61d1aa91be2765824468c9b64f60efcd1d24f61a1bc3998303fb489d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
-
|
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|
|
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.
|
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-
|
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.
|
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.
|
40
|
+
version: 0.2.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: method_source
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|