Git Product home page Git Product logo

schmooze's People

Contributors

bouk avatar byroot avatar casperisfine avatar itkrt2y avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

schmooze's Issues

Is this project maintained?

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.

Explain generate_import

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

Problem using jRuby 9.1.6.0

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)

Is it possible to modify an object that is passed as an argument and get it back on Ruby?

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).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.