yamlscript 0.1.47 → 0.1.49
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ChangeLog.md +8 -0
- data/lib/yamlscript/version.rb +1 -1
- data/lib/yamlscript.rb +21 -12
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6d986d6724c4b850beb83c731238fdf437bda8d9775d993946ad18354e81300a
|
4
|
+
data.tar.gz: a8391793054839ea238d2dd4ed4a92eacb0d7d7ab7e557bfd43a2c793b625350
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 33cf7c4750d28a6fdf5d3baa258aa7f2c0440926146cf00e543bd4ee824a29394d7fc2f4cb89992391c812ea62d8c0cfa39c7710baac2805f9ac80ebd20d051b
|
7
|
+
data.tar.gz: cbb9dc89102fe55b10a78bb03d1fcf217827d286b0b6c1487d71d5b80cf3c25492b4c080473c732aef8703d0522d509917cb5853aa838918a1a0f7fe3793d466
|
data/ChangeLog.md
CHANGED
data/lib/yamlscript/version.rb
CHANGED
data/lib/yamlscript.rb
CHANGED
@@ -13,10 +13,10 @@ require_relative 'yamlscript/version'
|
|
13
13
|
class YAMLScript
|
14
14
|
Error = Class.new(StandardError)
|
15
15
|
|
16
|
-
#
|
16
|
+
# This value is automatically updated by 'make bump'.
|
17
17
|
# The version number is used to find the correct shared library file.
|
18
18
|
# We currently only support binding to an exact version of libyamlscript.
|
19
|
-
YAMLSCRIPT_VERSION = '0.1.
|
19
|
+
YAMLSCRIPT_VERSION = '0.1.49'
|
20
20
|
|
21
21
|
# A low-level interface to the native library
|
22
22
|
module LibYAMLScript
|
@@ -33,7 +33,7 @@ class YAMLScript
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
-
def self.
|
36
|
+
def self.libyamlscript_name
|
37
37
|
"libyamlscript.#{extension}.#{YAMLSCRIPT_VERSION}"
|
38
38
|
end
|
39
39
|
|
@@ -49,18 +49,24 @@ class YAMLScript
|
|
49
49
|
end
|
50
50
|
|
51
51
|
# Find the libyamlscript shared library file path
|
52
|
-
def self.
|
53
|
-
name =
|
52
|
+
def self.find_libyamlscript_path
|
53
|
+
name = libyamlscript_name
|
54
54
|
path = ld_library_paths.map {
|
55
55
|
|dir| File.join(dir, name) }.detect { |file| File.exist?(file)
|
56
56
|
}
|
57
57
|
|
58
|
-
|
58
|
+
vers = YAMLSCRIPT_VERSION
|
59
|
+
raise Error, <<-ERROR unless path
|
60
|
+
|
61
|
+
Shared library file `#{name}` not found
|
62
|
+
Try: curl -sSL yamlscript.org/install | VERSION=#{vers} LIB=1 bash
|
63
|
+
See: https://github.com/yaml/yamlscript/wiki/Installing-YAMLScript
|
64
|
+
ERROR
|
59
65
|
|
60
66
|
path
|
61
67
|
end
|
62
68
|
|
63
|
-
dlload
|
69
|
+
dlload find_libyamlscript_path
|
64
70
|
|
65
71
|
extern \
|
66
72
|
'int graal_create_isolate(void* params, void** isolate, void** thread)'
|
@@ -93,16 +99,19 @@ class YAMLScript
|
|
93
99
|
def load(ys_code)
|
94
100
|
# Create a new GraalVM isolate thread for each call to load()
|
95
101
|
thread = Fiddle::Pointer.malloc(Fiddle::SIZEOF_VOIDP)
|
96
|
-
|
102
|
+
raise Error, "Failed to create isolate" unless \
|
103
|
+
LibYAMLScript.graal_create_isolate(nil, @isolate.ref, thread.ref).zero?
|
97
104
|
|
98
105
|
# Call 'load_ys_to_json' function in libyamlscript shared library
|
99
106
|
json_data = LibYAMLScript.load_ys_to_json(thread, ys_code)
|
100
107
|
resp = JSON.parse(json_data.to_s)
|
101
|
-
|
102
|
-
|
103
|
-
|
108
|
+
|
109
|
+
raise Error, "Failed to tear down isolate" unless \
|
110
|
+
LibYAMLScript.graal_tear_down_isolate(thread).zero?
|
111
|
+
raise Error, @error['cause'] if @error = resp['error']
|
112
|
+
|
104
113
|
data = resp.fetch('data') do
|
105
|
-
raise Error,
|
114
|
+
raise Error, "Unexpected response from 'libyamlscript'"
|
106
115
|
end
|
107
116
|
|
108
117
|
data
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yamlscript
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.49
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ingy döt Net
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2024-03-
|
12
|
+
date: 2024-03-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: minitest
|
@@ -63,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
63
63
|
- !ruby/object:Gem::Version
|
64
64
|
version: '0'
|
65
65
|
requirements: []
|
66
|
-
rubygems_version: 3.
|
66
|
+
rubygems_version: 3.1.2
|
67
67
|
signing_key:
|
68
68
|
specification_version: 4
|
69
69
|
summary: Program in YAML
|