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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 66808c2372dc110a68c106cc1a73ff414728513e8938430853fccb218b5dae51
4
- data.tar.gz: 364aad45114e986de1545485ad4b684afcb409aec03e6db059b162c6b9ac8b91
3
+ metadata.gz: e525689a88829175e3854572ee1451e36531fcff32b9fc9f33bebdda4669b613
4
+ data.tar.gz: 72513156486eff7d6f42dc7b90b8195594603ce97aa9781d0c2a90ede82ed631
5
5
  SHA512:
6
- metadata.gz: b93c6bb3433d94a422e6dfd6d26ff2fe4438ccc269ba9c782b0a5affbe6ab6c3c133156586683027e89241cfd5392ec4f4bdb3f16f2f8603eee5007b058428ba
7
- data.tar.gz: ee5713196d3897d4500b19f41d53ff9f2f3f77e7245349eae812623d750c46ddc98e56d78ff31227734f3e9b17f51a30c47b85ab6c49989123879cba8a848875
6
+ metadata.gz: aba5188637695fd7f733103177eebb40700dd6f3d679c92027b33cf9741c77a41af62e873f48d563db078069b437aa6b02028443a80a11372b5d2d832ab309cf
7
+ data.tar.gz: 999c5c6eb516bd0046824de921e52eed6d00b8073ce6eed0c7b0098b21dc693a90c2a5ec1fbf0deac1913cfadbb2aedf374d147936f91357eeeb5e21cbade799
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "isorun"
3
- version = "0.1.3"
3
+ version = "0.1.5"
4
4
  edition = "2021"
5
5
  authors = ["Hannes Moser <box@hannesmoser.at>"]
6
6
  homepage = "https://github.com/eliias/isorun"
@@ -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 js_path = Path::new(env!("CARGO_MANIFEST_DIR")).join("src/call.js");
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();
@@ -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
- asset_path("#{bundle_id}-server")
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
- asset_path(bundle_id)
17
+ Isorun::Resolver.module_path(bundle_id)
18
18
  end
19
19
  }
20
20
 
21
- private
22
-
23
- def asset_path(asset)
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Isorun
4
- VERSION = "0.1.3.pre"
4
+ VERSION = "0.1.5.pre"
5
5
  end
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)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isorun
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3.pre
4
+ version: 0.1.5.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hannes Moser