isorun 0.1.3.pre → 0.1.5.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/isorun/Cargo.toml +1 -1
- data/ext/isorun/src/js/worker.rs +13 -1
- data/lib/isorun/resolver.rb +5 -7
- data/lib/isorun/version.rb +1 -1
- data/lib/isorun.rb +4 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e525689a88829175e3854572ee1451e36531fcff32b9fc9f33bebdda4669b613
|
4
|
+
data.tar.gz: 72513156486eff7d6f42dc7b90b8195594603ce97aa9781d0c2a90ede82ed631
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aba5188637695fd7f733103177eebb40700dd6f3d679c92027b33cf9741c77a41af62e873f48d563db078069b437aa6b02028443a80a11372b5d2d832ab309cf
|
7
|
+
data.tar.gz: 999c5c6eb516bd0046824de921e52eed6d00b8073ce6eed0c7b0098b21dc693a90c2a5ec1fbf0deac1913cfadbb2aedf374d147936f91357eeeb5e21cbade799
|
data/ext/isorun/Cargo.toml
CHANGED
data/ext/isorun/src/js/worker.rs
CHANGED
@@ -13,6 +13,7 @@ use magnus::{Error, Value};
|
|
13
13
|
use std::borrow::BorrowMut;
|
14
14
|
use std::cell::RefCell;
|
15
15
|
use std::collections::{HashMap, HashSet};
|
16
|
+
use std::env;
|
16
17
|
use std::path::Path;
|
17
18
|
use std::rc::Rc;
|
18
19
|
use std::string::ToString;
|
@@ -203,7 +204,18 @@ impl Default for Worker {
|
|
203
204
|
|
204
205
|
// todo: we don't use the main module at all, but it could be used as an
|
205
206
|
// entry point for "eval" JavaScript.
|
206
|
-
let
|
207
|
+
let default_path = Path::new(env!("CARGO_MANIFEST_DIR"))
|
208
|
+
.join("../..")
|
209
|
+
.canonicalize()
|
210
|
+
.unwrap()
|
211
|
+
.into_os_string()
|
212
|
+
.into_string()
|
213
|
+
.unwrap();
|
214
|
+
let isorun_native_gem_path =
|
215
|
+
env::var("ISORUN_NATIVE_GEM_PATH").unwrap_or(default_path.clone());
|
216
|
+
let js_path = Path::new(isorun_native_gem_path.as_str())
|
217
|
+
.join("ext/isorun/src/call.js");
|
218
|
+
|
207
219
|
let main_module =
|
208
220
|
deno_core::resolve_path(&js_path.to_string_lossy()).unwrap();
|
209
221
|
let permissions = Permissions::allow_all();
|
data/lib/isorun/resolver.rb
CHANGED
@@ -6,7 +6,7 @@ module Isorun
|
|
6
6
|
if Rails.env.development?
|
7
7
|
Rails.root.join("app", "assets", "builds", "#{bundle_id}-server.js").to_s
|
8
8
|
else
|
9
|
-
|
9
|
+
Isorun::Resolver.module_path("#{bundle_id}-server")
|
10
10
|
end
|
11
11
|
}
|
12
12
|
|
@@ -14,15 +14,13 @@ module Isorun
|
|
14
14
|
if Rails.env.development?
|
15
15
|
Rails.root.join("app", "assets", "builds", "#{bundle_id}.js").to_s
|
16
16
|
else
|
17
|
-
|
17
|
+
Isorun::Resolver.module_path(bundle_id)
|
18
18
|
end
|
19
19
|
}
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
asset_path = Rails.application.assets_manifest.assets["#{asset}.js"]
|
25
|
-
"#{Rails.application.assets_manifest.directory}/#{asset_path}"
|
21
|
+
def self.module_path(asset)
|
22
|
+
file = Rails.application.assets_manifest.assets["#{asset}.js"]
|
23
|
+
"#{Rails.application.assets_manifest.directory}/#{file}"
|
26
24
|
end
|
27
25
|
end
|
28
26
|
end
|
data/lib/isorun/version.rb
CHANGED
data/lib/isorun.rb
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# set environment variable to isorun gem path, we use this to request the main
|
4
|
+
# module in the native extension
|
5
|
+
ENV["ISORUN_NATIVE_GEM_PATH"] = File.expand_path("..", __dir__)
|
6
|
+
|
3
7
|
# load native extension
|
4
8
|
begin
|
5
9
|
ruby_version = /(\d+\.\d+)/.match(::RUBY_VERSION)
|