shopify / schmooze Goto Github PK
View Code? Open in Web Editor NEWSchmooze lets Ruby and Node.js work together intimately.
License: MIT License
Schmooze lets Ruby and Node.js work together intimately.
License: MIT License
I notice a number of pull requests that haven't been merged even though they have been approved. It'd be great to have someone merge them to the master.
Could You explain the usage of mid and path?
def generate_import(import)
package, mid, path = import[:package].partition('.')
" var #{import[:identifier]} = require(#{package.to_json})#{mid}#{path};\n"
end
Because I have problem when requesting dependency './index.js'
and have been wondering about refactoring that piece of code or adding local_dependency
Running tests on jruby-9.1.6.0 I get:
โ schmooze git:(master) ./script/test
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256M; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256M; support was removed in 8.0
Run options: --seed 35387
# Running:
F.E.EFEEEEFFFFFF
Finished in 0.734000s, 21.7984 runs/s, 14.9864 assertions/s.
1) Failure:
SchmoozeTest#test_error [/Users/someuser/Workspace/OpenSource/schmooze/test/schmooze_test.rb:95]:
[Schmooze::JavaScript::Error] exception expected, not
Class: <Schmooze::Error>
Message: <"Failed to instantiate Schmooze process:\n[eval]:1\ntry\n^^^\nSyntaxError: Unexpected end of input\n at Object.exports.runInThisContext (vm.js:78:16)\n at Object.<anonymous> ([eval]-wrapper:6:22)\n at Module._compile (module.js:571:32)\n at Immediate.<anonymous> (bootstrap_node.js:383:29)\n at runCallback (timers.js:649:20)\n at tryOnImmediate (timers.js:622:5)\n at processImmediate [as _immediateCallback] (timers.js:594:5)\nsh: -c: line 1: syntax error near unexpected token `('\nsh: -c: line 1: ` var coffee = require(\"coffee-script\");'\n">
---Backtrace---
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:74:in `ensure_packages_are_initiated'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:67:in `spawn_process'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:56:in `ensure_process_is_spawned'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:103:in `call_js_method'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:28:in `block in error'
/Users/someuser/Workspace/OpenSource/schmooze/test/schmooze_test.rb:96:in `block in test_error'
---------------
2) Error:
SchmoozeTest#test_usage:
Schmooze::Error: Failed to instantiate Schmooze process:
[eval]:1
try
^^^
SyntaxError: Unexpected end of input
at Object.exports.runInThisContext (vm.js:78:16)
at Object.<anonymous> ([eval]-wrapper:6:22)
at Module._compile (module.js:571:32)
at Immediate.<anonymous> (bootstrap_node.js:383:29)
at runCallback (timers.js:649:20)
at tryOnImmediate (timers.js:622:5)
at processImmediate [as _immediateCallback] (timers.js:594:5)
sh: -c: line 1: syntax error near unexpected token `('
sh: -c: line 1: ` var coffee = require("coffee-script");'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:74:in `ensure_packages_are_initiated'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:67:in `spawn_process'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:56:in `ensure_process_is_spawned'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:103:in `call_js_method'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:28:in `block in version'
/Users/someuser/Workspace/OpenSource/schmooze/test/schmooze_test.rb:91:in `test_usage'
3) Error:
SchmoozeTest#test_compile_args:
Schmooze::Error: Failed to instantiate Schmooze process:
[eval]:1
try
^^^
SyntaxError: Unexpected end of input
at Object.exports.runInThisContext (vm.js:78:16)
at Object.<anonymous> ([eval]-wrapper:6:22)
at Module._compile (module.js:571:32)
at Immediate.<anonymous> (bootstrap_node.js:383:29)
at runCallback (timers.js:649:20)
at tryOnImmediate (timers.js:622:5)
at processImmediate [as _immediateCallback] (timers.js:594:5)
sh: -c: line 1: syntax error near unexpected token `('
sh: -c: line 1: ` var coffee = require("coffee-script");'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:74:in `ensure_packages_are_initiated'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:67:in `spawn_process'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:56:in `ensure_process_is_spawned'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:103:in `call_js_method'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:28:in `block in compile'
/Users/someuser/Workspace/OpenSource/schmooze/test/schmooze_test.rb:125:in `test_compile_args'
4) Failure:
SchmoozeTest#test_async_error [/Users/someuser/Workspace/OpenSource/schmooze/test/schmooze_test.rb:106]:
[Schmooze::JavaScript::Error] exception expected, not
Class: <Schmooze::Error>
Message: <"Failed to instantiate Schmooze process:\n[eval]:1\ntry\n^^^\nSyntaxError: Unexpected end of input\n at Object.exports.runInThisContext (vm.js:78:16)\n at Object.<anonymous> ([eval]-wrapper:6:22)\n at Module._compile (module.js:571:32)\n at Immediate.<anonymous> (bootstrap_node.js:383:29)\n at runCallback (timers.js:649:20)\n at tryOnImmediate (timers.js:622:5)\n at processImmediate [as _immediateCallback] (timers.js:594:5)\nsh: -c: line 1: syntax error near unexpected token `('\nsh: -c: line 1: ` var coffee = require(\"coffee-script\");'\n">
---Backtrace---
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:74:in `ensure_packages_are_initiated'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:67:in `spawn_process'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:56:in `ensure_process_is_spawned'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:103:in `call_js_method'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:28:in `block in async_error'
/Users/someuser/Workspace/OpenSource/schmooze/test/schmooze_test.rb:107:in `block in test_async_error'
---------------
5) Error:
SchmoozeTest#test_compile:
Schmooze::Error: Failed to instantiate Schmooze process:
[eval]:1
try
^^^
SyntaxError: Unexpected end of input
at Object.exports.runInThisContext (vm.js:78:16)
at Object.<anonymous> ([eval]-wrapper:6:22)
at Module._compile (module.js:571:32)
at Immediate.<anonymous> (bootstrap_node.js:383:29)
at runCallback (timers.js:649:20)
at tryOnImmediate (timers.js:622:5)
at processImmediate [as _immediateCallback] (timers.js:594:5)
sh: -c: line 1: syntax error near unexpected token `('
sh: -c: line 1: ` var coffee = require("coffee-script");'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:74:in `ensure_packages_are_initiated'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:67:in `spawn_process'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:56:in `ensure_process_is_spawned'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:103:in `call_js_method'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:28:in `block in compile'
/Users/someuser/Workspace/OpenSource/schmooze/test/schmooze_test.rb:113:in `test_compile'
6) Error:
SchmoozeTest#test_async:
Schmooze::Error: Failed to instantiate Schmooze process:
[eval]:1
try
^^^
SyntaxError: Unexpected end of input
at Object.exports.runInThisContext (vm.js:78:16)
at Object.<anonymous> ([eval]-wrapper:6:22)
at Module._compile (module.js:571:32)
at Immediate.<anonymous> (bootstrap_node.js:383:29)
at runCallback (timers.js:649:20)
at tryOnImmediate (timers.js:622:5)
at processImmediate [as _immediateCallback] (timers.js:594:5)
sh: -c: line 1: syntax error near unexpected token `('
sh: -c: line 1: ` var coffee = require("coffee-script");'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:74:in `ensure_packages_are_initiated'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:67:in `spawn_process'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:56:in `ensure_process_is_spawned'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:103:in `call_js_method'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:28:in `block in async_version'
/Users/someuser/Workspace/OpenSource/schmooze/test/schmooze_test.rb:102:in `test_async'
7) Error:
GarbageTest#test_process_is_closed:
Schmooze::Error: Failed to instantiate Schmooze process:
[eval]:1
try
^^^
SyntaxError: Unexpected end of input
at Object.exports.runInThisContext (vm.js:78:16)
at Object.<anonymous> ([eval]-wrapper:6:22)
at Module._compile (module.js:571:32)
at Immediate.<anonymous> (bootstrap_node.js:383:29)
at runCallback (timers.js:649:20)
at tryOnImmediate (timers.js:622:5)
at processImmediate [as _immediateCallback] (timers.js:594:5)
sh: -c: line 1: syntax error near unexpected token `}'
sh: -c: line 1: `} catch (e) {'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:74:in `ensure_packages_are_initiated'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:67:in `spawn_process'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:56:in `ensure_process_is_spawned'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:103:in `call_js_method'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:28:in `block in test'
/Users/someuser/Workspace/OpenSource/schmooze/test/garbage_test.rb:21:in `block in test_process_is_closed'
8) Error:
GarbageTest#test_process_is_not_started_until_used:
Schmooze::Error: Failed to instantiate Schmooze process:
[eval]:1
try
^^^
SyntaxError: Unexpected end of input
at Object.exports.runInThisContext (vm.js:78:16)
at Object.<anonymous> ([eval]-wrapper:6:22)
at Module._compile (module.js:571:32)
at Immediate.<anonymous> (bootstrap_node.js:383:29)
at runCallback (timers.js:649:20)
at tryOnImmediate (timers.js:622:5)
at processImmediate [as _immediateCallback] (timers.js:594:5)
sh: -c: line 1: syntax error near unexpected token `}'
sh: -c: line 1: `} catch (e) {'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:74:in `ensure_packages_are_initiated'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:67:in `spawn_process'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:56:in `ensure_process_is_spawned'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:103:in `call_js_method'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:28:in `block in test'
/Users/someuser/Workspace/OpenSource/schmooze/test/garbage_test.rb:11:in `test_process_is_not_started_until_used'
9) Failure:
ErrorTest#test_import_error [/Users/someuser/Workspace/OpenSource/schmooze/test/error_test.rb:33]:
[Schmooze::DependencyError] exception expected, not
Class: <Schmooze::Error>
Message: <"Failed to instantiate Schmooze process:\n[eval]:1\ntry\n^^^\nSyntaxError: Unexpected end of input\n at Object.exports.runInThisContext (vm.js:78:16)\n at Object.<anonymous> ([eval]-wrapper:6:22)\n at Module._compile (module.js:571:32)\n at Immediate.<anonymous> (bootstrap_node.js:383:29)\n at runCallback (timers.js:649:20)\n at tryOnImmediate (timers.js:622:5)\n at processImmediate [as _immediateCallback] (timers.js:594:5)\nsh: -c: line 1: syntax error near unexpected token `('\nsh: -c: line 1: ` var nonexistant = require(\"this-package-is-not-here\");'\n">
---Backtrace---
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:74:in `ensure_packages_are_initiated'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:67:in `spawn_process'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:56:in `ensure_process_is_spawned'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:103:in `call_js_method'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:28:in `block in bogus'
/Users/someuser/Workspace/OpenSource/schmooze/test/error_test.rb:34:in `block in test_import_error'
---------------
10) Failure:
ErrorTest#test_late_arriving_dependency [/Users/someuser/Workspace/OpenSource/schmooze/test/error_test.rb:72]:
[Schmooze::DependencyError] exception expected, not
Class: <Schmooze::Error>
Message: <"Failed to instantiate Schmooze process:\n[eval]:1\ntry\n^^^\nSyntaxError: Unexpected end of input\n at Object.exports.runInThisContext (vm.js:78:16)\n at Object.<anonymous> ([eval]-wrapper:6:22)\n at Module._compile (module.js:571:32)\n at Immediate.<anonymous> (bootstrap_node.js:383:29)\n at runCallback (timers.js:649:20)\n at tryOnImmediate (timers.js:622:5)\n at processImmediate [as _immediateCallback] (timers.js:594:5)\nsh: -c: line 1: syntax error near unexpected token `('\nsh: -c: line 1: ` var empty = require(\"empty\");'\n">
---Backtrace---
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:74:in `ensure_packages_are_initiated'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:67:in `spawn_process'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:56:in `ensure_process_is_spawned'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:103:in `call_js_method'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:28:in `block in test'
/Users/someuser/Workspace/OpenSource/schmooze/test/error_test.rb:73:in `block in test_late_arriving_dependency'
---------------
11) Failure:
ErrorTest#test_unknown_error [/Users/someuser/Workspace/OpenSource/schmooze/test/error_test.rb:89]:
[Schmooze::JavaScript::UnknownError] exception expected, not
Class: <Schmooze::Error>
Message: <"Failed to instantiate Schmooze process:\n[eval]:1\ntry\n^^^\nSyntaxError: Unexpected end of input\n at Object.exports.runInThisContext (vm.js:78:16)\n at Object.<anonymous> ([eval]-wrapper:6:22)\n at Module._compile (module.js:571:32)\n at Immediate.<anonymous> (bootstrap_node.js:383:29)\n at runCallback (timers.js:649:20)\n at tryOnImmediate (timers.js:622:5)\n at processImmediate [as _immediateCallback] (timers.js:594:5)\nsh: -c: line 1: syntax error near unexpected token `}'\nsh: -c: line 1: `} catch (e) {'\n">
---Backtrace---
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:74:in `ensure_packages_are_initiated'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:67:in `spawn_process'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:56:in `ensure_process_is_spawned'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:103:in `call_js_method'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:28:in `block in throw_string'
/Users/someuser/Workspace/OpenSource/schmooze/test/error_test.rb:90:in `block in test_unknown_error'
---------------
12) Failure:
ErrorTest#test_import_error_but_in_package_json [/Users/someuser/Workspace/OpenSource/schmooze/test/error_test.rb:49]:
[Schmooze::DependencyError] exception expected, not
Class: <Schmooze::Error>
Message: <"Failed to instantiate Schmooze process:\n[eval]:1\ntry\n^^^\nSyntaxError: Unexpected end of input\n at Object.exports.runInThisContext (vm.js:78:16)\n at Object.<anonymous> ([eval]-wrapper:6:22)\n at Module._compile (module.js:571:32)\n at Immediate.<anonymous> (bootstrap_node.js:383:29)\n at runCallback (timers.js:649:20)\n at tryOnImmediate (timers.js:622:5)\n at processImmediate [as _immediateCallback] (timers.js:594:5)\nsh: -c: line 1: syntax error near unexpected token `('\nsh: -c: line 1: ` var less = require(\"less\");'\n">
---Backtrace---
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:74:in `ensure_packages_are_initiated'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:67:in `spawn_process'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:56:in `ensure_process_is_spawned'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:103:in `call_js_method'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:28:in `block in bogus'
/Users/someuser/Workspace/OpenSource/schmooze/test/error_test.rb:50:in `block in test_import_error_but_in_package_json'
---------------
13) Failure:
ErrorTest#test_import_error_no_package_json [/Users/someuser/Workspace/OpenSource/schmooze/test/error_test.rb:41]:
[Schmooze::DependencyError] exception expected, not
Class: <Schmooze::Error>
Message: <"Failed to instantiate Schmooze process:\n[eval]:1\ntry\n^^^\nSyntaxError: Unexpected end of input\n at Object.exports.runInThisContext (vm.js:78:16)\n at Object.<anonymous> ([eval]-wrapper:6:22)\n at Module._compile (module.js:571:32)\n at Immediate.<anonymous> (bootstrap_node.js:383:29)\n at runCallback (timers.js:649:20)\n at tryOnImmediate (timers.js:622:5)\n at processImmediate [as _immediateCallback] (timers.js:594:5)\nsh: -c: line 1: syntax error near unexpected token `('\nsh: -c: line 1: ` var nonexistant = require(\"this-package-is-not-here\");'\n">
---Backtrace---
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:74:in `ensure_packages_are_initiated'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:67:in `spawn_process'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:56:in `ensure_process_is_spawned'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:103:in `call_js_method'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:28:in `block in bogus'
/Users/someuser/Workspace/OpenSource/schmooze/test/error_test.rb:42:in `block in test_import_error_no_package_json'
---------------
14) Failure:
ErrorTest#test_javascript_error [/Users/someuser/Workspace/OpenSource/schmooze/test/error_test.rb:57]:
[Schmooze::JavaScript::SyntaxError] exception expected, not
Class: <Schmooze::Error>
Message: <"Failed to instantiate Schmooze process:\n[eval]:1\ntry\n^^^\nSyntaxError: Unexpected end of input\n at Object.exports.runInThisContext (vm.js:78:16)\n at Object.<anonymous> ([eval]-wrapper:6:22)\n at Module._compile (module.js:571:32)\n at Immediate.<anonymous> (bootstrap_node.js:383:29)\n at runCallback (timers.js:649:20)\n at tryOnImmediate (timers.js:622:5)\n at processImmediate [as _immediateCallback] (timers.js:594:5)\nsh: -c: line 1: syntax error near unexpected token `('\nsh: -c: line 1: ` var coffee = require(\"coffee-script\");'\n">
---Backtrace---
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:74:in `ensure_packages_are_initiated'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:67:in `spawn_process'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:56:in `ensure_process_is_spawned'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:103:in `call_js_method'
/Users/someuser/Workspace/OpenSource/schmooze/lib/schmooze/base.rb:28:in `block in compile'
/Users/someuser/Workspace/OpenSource/schmooze/test/error_test.rb:58:in `block in test_javascript_error'
---------------
16 runs, 11 assertions, 8 failures, 6 errors, 0 skips
rake aborted!
Command failed with status (1): [ruby -I"lib:test:lib" -I"/Users/someuser/.rvm/rubies/jruby-9.1.6.0/lib/ruby/stdlib" "/Users/someuser/.rvm/rubies/jruby-9.1.6.0/lib/ruby/stdlib/rake/rake_test_loader.rb" "test/error_test.rb" "test/garbage_test.rb" "test/schmooze_test.rb" ]
/Users/someuser/.rvm/gems/jruby-9.1.6.0@schmooze/gems/bundler-1.13.6/lib/bundler/cli/exec.rb:1:in `(root)'
/Users/someuser/.rvm/gems/jruby-9.1.6.0@schmooze/gems/bundler-1.13.6/lib/bundler/cli/exec.rb:74:in `kernel_load'
/Users/someuser/.rvm/gems/jruby-9.1.6.0@schmooze/gems/bundler-1.13.6/lib/bundler/cli/exec.rb:27:in `run'
/Users/someuser/.rvm/gems/jruby-9.1.6.0@schmooze/gems/bundler-1.13.6/lib/bundler/cli.rb:332:in `exec'
/Users/someuser/.rvm/gems/jruby-9.1.6.0@schmooze/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/someuser/.rvm/gems/jruby-9.1.6.0@schmooze/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/Users/someuser/.rvm/gems/jruby-9.1.6.0@schmooze/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
/Users/someuser/.rvm/gems/jruby-9.1.6.0@schmooze/gems/bundler-1.13.6/lib/bundler/cli.rb:20:in `dispatch'
/Users/someuser/.rvm/gems/jruby-9.1.6.0@schmooze/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `block in start'
/Users/someuser/.rvm/gems/jruby-9.1.6.0@schmooze/gems/bundler-1.13.6/lib/bundler/cli.rb:11:in `start'
/Users/someuser/.rvm/gems/jruby-9.1.6.0@schmooze/gems/bundler-1.13.6/exe/bundle:34:in `<main>'
/Users/someuser/.rvm/gems/jruby-9.1.6.0@schmooze/gems/bundler-1.13.6/lib/bundler/friendly_errors.rb:100:in `<eval>'
/Users/someuser/.rvm/gems/jruby-9.1.6.0@schmooze/bin/jruby_executable_hooks:15:in `<main>'
Tasks: TOP => test
(See full trace by running task with --trace)
Doesn't seem so:
require 'schmooze'
class BabelSchmoozer < Schmooze::Base
method :version, 'function(mydict) { mydict["b"] = 2}'
end
babel = BabelSchmoozer.new(__dir__)
mydict = { 'a': 1 }
babel.version(mydict)
puts mydict
outputs:
{:a=>1}
But I found a reasonable workaround, which is to pass the value back on the return, and use an array of return values if I need more than one return object:
require 'schmooze'
class BabelSchmoozer < Schmooze::Base
method :version, 'function(mydict) { mydict["b"] = 2; return mydict}'
end
babel = BabelSchmoozer.new(__dir__)
mydict = { 'a': 1 }
mydict = babel.version(mydict)
puts mydict
outputs:
{"a"=>1, "b"=>2}
and if the goal is to preserve a state parameter across calls, you can use the global object itself!
require 'schmooze'
class BabelSchmoozer < Schmooze::Base
dependencies babel: 'babel-core'
method :init, 'function() { babel.************_mydict = []; }'
method :version, 'function(val) { babel.************_mydict.push(val); return babel.************_mydict; }'
end
babel = BabelSchmoozer.new(__dir__)
babel.init
puts babel.version(0)
puts babel.version(1)
Tested on schmooze (0.2.0).
I just want to thank you for doing this. Now I can use Babel 6 in a easy way. After I saw this project, it took me just a few minutes to implement a Babel transpiler on Sprockets.
https://github.com/fnando/babel-schmooze-sprockets
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.