javonet-ruby-sdk 2.5.11 → 2.5.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/javonet-ruby-sdk/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
  4. data/lib/javonet-ruby-sdk/Binaries/Clr/JavonetClrRuntime.dll +0 -0
  5. data/lib/javonet-ruby-sdk/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRuby278RuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NativeUtilsUnitTests.xml +30 -30
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  23. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRuby278RuntimeNative.so +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libJavonetTcpTlsClient.so +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  37. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRuby278RuntimeNative.dylib +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  52. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  54. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  55. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  56. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  57. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  58. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
  59. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  60. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  61. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  63. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
  64. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  65. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  66. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  67. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  69. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  70. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
  71. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  72. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  74. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  76. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  77. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  78. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  79. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  80. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  81. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  82. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  83. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  84. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  85. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  86. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  87. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  88. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  89. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
  90. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
  91. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  92. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  93. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/Handler.js +6 -9
  94. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/InvokeGlobalFunctionHandler.js +39 -0
  95. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/interpreter/Interpreter.js +11 -15
  96. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/protocol/TypeSerializer.js +7 -0
  97. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/transmitter/TransmitterWrapper.js +1 -1
  98. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/webSocketClient/WebSocketClient.js +2 -2
  99. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/InvocationContext.js +7 -17
  100. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/RuntimeContext.js +27 -0
  101. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/CommandType.js +1 -2
  102. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/CustomError.js +8 -0
  103. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Common.pm +1 -1
  104. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Constructor.pm +7 -1
  105. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Dumper.pm +1 -1
  106. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Emitter.pm +1 -1
  107. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Exception.pm +1 -1
  108. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Grammar.pm +1 -1
  109. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Highlight.pm +1 -1
  110. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Lexer.pm +1 -1
  111. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Loader.pm +3 -1
  112. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Parser.pm +1 -1
  113. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Perl.pm +1 -1
  114. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Reader.pm +1 -1
  115. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Render.pm +1 -1
  116. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Representer.pm +1 -1
  117. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Binary.pm +1 -1
  118. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Catchall.pm +1 -1
  119. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Core.pm +1 -1
  120. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Failsafe.pm +1 -1
  121. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Include.pm +1 -1
  122. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/JSON.pm +1 -1
  123. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Merge.pm +1 -1
  124. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Perl.pm +1 -1
  125. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Tie/IxHash.pm +1 -1
  126. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/YAML1_1.pm +1 -1
  127. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema.pm +6 -6
  128. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Type/MergeKey.pm +1 -1
  129. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Writer/File.pm +1 -1
  130. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Writer.pm +1 -1
  131. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP.pm +29 -3
  132. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  133. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  134. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  135. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  136. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  137. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  138. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  139. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  140. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
  142. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +95 -95
  143. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeGlobalFunctionHandler.pm +63 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/PerlHandler.pm +7 -0
  145. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +10 -2
  146. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +6 -1
  147. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeContext.pm +17 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +53 -22
  149. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -18
  150. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump.bat +8 -5
  151. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load.bat +8 -5
  152. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  154. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  155. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  156. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +26 -26
  158. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Common.pm +1 -1
  159. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Constructor.pm +7 -1
  160. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Dumper.pm +1 -1
  161. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Emitter.pm +1 -1
  162. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Exception.pm +1 -1
  163. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Grammar.pm +1 -1
  164. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Highlight.pm +1 -1
  165. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Lexer.pm +1 -1
  166. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Loader.pm +3 -1
  167. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Parser.pm +1 -1
  168. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Perl.pm +1 -1
  169. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Reader.pm +1 -1
  170. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Render.pm +1 -1
  171. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Representer.pm +1 -1
  172. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Binary.pm +1 -1
  173. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Catchall.pm +1 -1
  174. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Core.pm +1 -1
  175. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Failsafe.pm +1 -1
  176. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Include.pm +1 -1
  177. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/JSON.pm +1 -1
  178. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Merge.pm +1 -1
  179. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Perl.pm +1 -1
  180. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Tie/IxHash.pm +1 -1
  181. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/YAML1_1.pm +1 -1
  182. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema.pm +6 -6
  183. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Type/MergeKey.pm +1 -1
  184. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Writer/File.pm +1 -1
  185. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Writer.pm +1 -1
  186. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP.pm +29 -3
  187. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeGlobalFunctionHandler.pm +63 -0
  188. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/PerlHandler.pm +7 -0
  189. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +10 -2
  190. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +6 -1
  191. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeContext.pm +17 -0
  192. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +53 -22
  193. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -18
  194. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
  195. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
  196. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
  197. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/__pycache__/__init__.cpython-312.pyc +0 -0
  198. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-312.pyc +0 -0
  199. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/__init__.cpython-312.pyc +0 -0
  200. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/Handler.py +2 -0
  201. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/InvokeGlobalFunctionHandler.py +46 -0
  202. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
  203. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
  204. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
  205. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
  206. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
  207. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
  208. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
  209. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
  210. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
  211. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
  212. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
  213. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
  214. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
  215. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
  216. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
  217. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
  218. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
  219. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
  220. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
  221. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
  222. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
  223. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
  224. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
  225. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeGlobalFunctionHandler.cpython-312.pyc +0 -0
  226. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
  227. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
  228. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
  229. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
  230. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
  231. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
  232. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
  233. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
  234. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
  235. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/Interpreter.py +29 -2
  236. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
  237. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
  238. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
  239. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  240. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
  241. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
  242. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
  243. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
  244. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
  245. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/Receiver.py +19 -0
  246. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
  247. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
  248. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
  249. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  250. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
  251. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
  252. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/Command.py +23 -0
  253. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/CommandType.py +2 -1
  254. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/RuntimeName.py +3 -0
  255. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/UtilsConst.py +42 -0
  256. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
  257. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
  258. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
  259. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
  260. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
  261. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
  262. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
  263. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
  264. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/UtilsConst.cpython-312.pyc +0 -0
  265. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  266. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
  267. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
  268. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
  269. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
  270. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
  271. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/MessageHelper.py +86 -0
  272. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__init__.py +0 -0
  273. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/MessageHelper.cpython-312.pyc +0 -0
  274. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/messageHelper/__pycache__/__init__.cpython-312.pyc +0 -0
  275. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/handler.rb +3 -0
  276. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/invoke_global_function_handler.rb +45 -0
  277. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/invoke_instance_method_handler.rb +9 -5
  278. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/invoke_static_method_handler.rb +4 -3
  279. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/receiver/receiver.rb +6 -2
  280. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command_type.rb +18 -3
  281. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/handler.rb +3 -0
  282. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/invoke_global_function_handler.rb +45 -0
  283. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/invoke_instance_method_handler.rb +9 -5
  284. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/invoke_static_method_handler.rb +4 -3
  285. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/receiver/receiver.rb +6 -2
  286. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command_type.rb +18 -3
  287. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/handler.rb +3 -0
  288. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/invoke_global_function_handler.rb +45 -0
  289. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/invoke_instance_method_handler.rb +9 -5
  290. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/invoke_static_method_handler.rb +4 -3
  291. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/receiver/receiver.rb +6 -2
  292. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command_type.rb +18 -3
  293. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  294. data/lib/javonet-ruby-sdk/core/handler/handler.rb +3 -0
  295. data/lib/javonet-ruby-sdk/core/handler/invoke_global_function_handler.rb +45 -0
  296. data/lib/javonet-ruby-sdk/core/handler/invoke_instance_method_handler.rb +9 -5
  297. data/lib/javonet-ruby-sdk/core/handler/invoke_static_method_handler.rb +4 -3
  298. data/lib/javonet-ruby-sdk/core/receiver/receiver.rb +6 -2
  299. data/lib/javonet-ruby-sdk/sdk/invocation_context.rb +36 -18
  300. data/lib/javonet-ruby-sdk/sdk/runtime_context.rb +23 -10
  301. data/lib/javonet-ruby-sdk/utils/command_type.rb +18 -3
  302. metadata +20 -33
  303. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/AbstractGeneratorHandler.js +0 -11
  304. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/CreateInstanceGeneratorHandler.js +0 -27
  305. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GeneratorHandler.js +0 -38
  306. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GetInstanceFieldGeneratorHandler.js +0 -26
  307. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GetStaticFieldGeneratorHandler.js +0 -24
  308. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GetTypeGeneratorHandler.js +0 -39
  309. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/Handlers.js +0 -58
  310. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/InvokeInstanceMethodGeneratorHandler.js +0 -33
  311. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/InvokeStandaloneMethodGeneratorHandler.js +0 -35
  312. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/InvokeStaticMethodGeneratorHandler.js +0 -35
  313. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/SharedArgumentNameHandler.js +0 -15
  314. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/SharedClassInstanceHandler.js +0 -12
  315. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/SharedClassNameHandler.js +0 -44
  316. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/SharedMethodNameHandler.js +0 -42
  317. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/SharedReturnTypeHandler.js +0 -9
  318. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedBodyHandler.js +0 -18
  319. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.js +0 -29
  320. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.js +0 -21
  321. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.js +0 -31
  322. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetTypeBodyHandler.js +0 -21
  323. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.js +0 -33
  324. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeStandaloneMethodBodyHandler.js +0 -39
  325. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.js +0 -39
  326. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/internal/CommonGenerator.js +0 -39
  327. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/internal/NodejsStringBuilder.js +0 -17
  328. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/internal/SharedHandlerType.js +0 -10
  329. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/utils/StringUtils.js +0 -7
  330. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/InvokeGlobalMethodHandler.js +0 -43
  331. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/InvokeStandaloneMethodHandler.js +0 -56
  332. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractModuleContext.pm +0 -11
  333. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractModuleContext.pm +0 -11
@@ -22,6 +22,7 @@ require_relative '../../core/handler/array_set_item_handler'
22
22
  require_relative '../../core/handler/array_handler'
23
23
  require_relative '../../core/handler/enable_namespace_handler'
24
24
  require_relative '../../core/handler/enable_type_handler'
25
+ require_relative '../../core/handler/invoke_global_function_handler'
25
26
  require_relative '../../core/reference_cache/references_cache'
26
27
  require_relative '../../utils/exceptions/exception_serializer'
27
28
 
@@ -50,6 +51,7 @@ class Handler < AbstractHandler
50
51
  array_handler = ArrayHandler.new
51
52
  enable_namespace_handler = EnableNamespaceHandler.new
52
53
  enable_type_handler = EnableTypeHandler.new
54
+ invoke_global_function_handler = InvokeGlobalFunctionHandler.new
53
55
 
54
56
 
55
57
  $handler_dict[CommandType::VALUE] = value_handler
@@ -72,6 +74,7 @@ class Handler < AbstractHandler
72
74
  $handler_dict[CommandType::ARRAY] = array_handler
73
75
  $handler_dict[CommandType::ENABLE_NAMESPACE] = enable_namespace_handler
74
76
  $handler_dict[CommandType::ENABLE_TYPE] = enable_type_handler
77
+ $handler_dict[CommandType::INVOKE_GLOBAL_FUNCTION] = invoke_global_function_handler
75
78
  end
76
79
 
77
80
 
@@ -0,0 +1,45 @@
1
+ require_relative 'abstract_command_handler'
2
+
3
+ class InvokeGlobalFunctionHandler < AbstractCommandHandler
4
+ def process(command)
5
+ invoke_function(command)
6
+ end
7
+
8
+ def invoke_function(command)
9
+ begin
10
+ payload = command.payload
11
+ raise ArgumentError, "InvokeGlobalFunction requires at least one parameter" if payload.empty?
12
+
13
+ # Expect the first parameter to be a string in the form "ModuleName.function_name"
14
+ full_method_string = payload[0]
15
+ unless full_method_string.is_a?(String) && full_method_string.include?(".")
16
+ raise ArgumentError, "Expected a string in the format 'ModuleName.function_name'"
17
+ end
18
+
19
+ parts = full_method_string.split(".")
20
+ if parts.size < 2
21
+ raise ArgumentError, "Invalid function identifier format. Expected 'ModuleName.function_name'"
22
+ end
23
+
24
+ function_name = parts.pop
25
+ module_name = parts.join("::") # Convert dot-separated names to Ruby's "::" notation
26
+
27
+ begin
28
+ target = Object.const_get(module_name)
29
+ rescue NameError => e
30
+ raise NameError, "Module/Class #{module_name} not found: #{e.message}"
31
+ end
32
+
33
+ args = payload[1..-1] || []
34
+
35
+ if target.respond_to?(function_name)
36
+ target.send(function_name, *args)
37
+ else
38
+ available_methods = target.methods.join(', ')
39
+ raise NoMethodError, "Method #{function_name} not found in module #{module_name}. Available methods: #{available_methods}"
40
+ end
41
+ rescue Exception => e
42
+ e
43
+ end
44
+ end
45
+ end
@@ -6,7 +6,7 @@ class InvokeInstanceMethodHandler < AbstractCommandHandler
6
6
  end
7
7
 
8
8
  def process(command)
9
- return invoke_instance_method(command)
9
+ invoke_instance_method(command)
10
10
  end
11
11
 
12
12
  def invoke_instance_method(command)
@@ -14,15 +14,19 @@ class InvokeInstanceMethodHandler < AbstractCommandHandler
14
14
  if command.payload.length < @required_parameters_count
15
15
  raise ArgumentError.new "InvokeInstanceMethod parameters mismatch"
16
16
  end
17
+
18
+ instance = command.payload[0]
19
+ method_name = command.payload[1]
20
+
17
21
  if command.payload.length > 2
18
22
  arguments = command.payload[2..]
19
- return command.payload[0].send(command.payload[1], *arguments)
23
+ return instance.send(method_name, *arguments)
20
24
  else
21
- return command.payload[0].send(command.payload[1])
25
+ return instance.send(method_name)
22
26
  end
23
27
  rescue NoMethodError
24
- methods = command.payload[0].methods
25
- message = "Method #{command.payload[1]} not found in object of class #{command.payload[0].class.name}. Available methods:\n"
28
+ methods = instance.methods
29
+ message = "Method #{method_name} not found in object of class #{instance.class.name}. Available methods:\n"
26
30
  methods.each { |method_iter| message += "#{method_iter}\n" }
27
31
  raise Exception, message
28
32
  rescue Exception => e
@@ -14,14 +14,15 @@ class InvokeStaticMethodHandler < AbstractCommandHandler
14
14
  if command.payload.length < @required_parameters_count
15
15
  raise ArgumentError.new "Static method parameters mismatch"
16
16
  end
17
-
17
+
18
+ type = command.payload[0]
18
19
  method_name = command.payload[1]
19
20
  begin
20
21
  if command.payload.length > @required_parameters_count
21
22
  args = command.payload[2..]
22
- result = command.payload[0].send(method_name, *args)
23
+ result = type.send(method_name, *args)
23
24
  else
24
- result = command.payload[0].send(method_name)
25
+ result = type.send(method_name)
25
26
  end
26
27
  return result
27
28
  rescue NoMethodError
@@ -3,9 +3,9 @@ require_relative '../../utils/runtime_logger'
3
3
  require_relative '../protocol/command_serializer'
4
4
 
5
5
  class Receiver
6
-
6
+
7
7
  def initialize
8
- RuntimeLogger.print_runtime_info
8
+ puts RuntimeLogger.print_runtime_info
9
9
  end
10
10
 
11
11
  def send_command(message_array, message_array_len)
@@ -15,4 +15,8 @@ class Receiver
15
15
  def heart_beat(message_array, message_array_len)
16
16
  [49,48]
17
17
  end
18
+
19
+ def get_runtime_info
20
+ RuntimeLogger.get_runtime_info(true)
21
+ end
18
22
  end
@@ -15,7 +15,7 @@ class CommandType
15
15
  GET_INSTANCE_FIELD = 13
16
16
  OPTIMIZE = 14
17
17
  GENERATE_LIB = 15
18
- INVOKE_GLOBAL_METHOD = 16
18
+ INVOKE_GLOBAL_FUNCTION = 16
19
19
  DESTRUCT_REFERENCE = 17
20
20
  ARRAY_REFERENCE = 18
21
21
  ARRAY_GET_ITEM = 19
@@ -36,6 +36,11 @@ class CommandType
36
36
  ENABLE_NAMESPACE = 34
37
37
  ENABLE_TYPE = 35
38
38
  CREATE_NULL = 36
39
+ GET_STATIC_METHOD_AS_DELEGATE = 37
40
+ GET_INSTANCE_METHOD_AS_DELEGATE = 38
41
+ PASS_DELEGATE = 39
42
+ INVOKE_DELEGATE = 40
43
+ CONVERT_TYPE = 41
39
44
 
40
45
  def self.get_name(command_number)
41
46
  case command_number
@@ -62,7 +67,7 @@ class CommandType
62
67
  when 10
63
68
  return 'EXCEPTION'
64
69
  when 11
65
- return 'HEART_BEAT'
70
+ return 'HEARTBEAT'
66
71
  when 12
67
72
  return 'CAST'
68
73
  when 13
@@ -72,7 +77,7 @@ class CommandType
72
77
  when 15
73
78
  return 'GENERATE_LIB'
74
79
  when 16
75
- return 'INVOKE_GLOBAL_METHOD'
80
+ return 'INVOKE_GLOBAL_FUNCTION'
76
81
  when 17
77
82
  return 'DESTRUCT_REFERENCE'
78
83
  when 18
@@ -113,6 +118,16 @@ class CommandType
113
118
  return 'ENABLE_TYPE'
114
119
  when 36
115
120
  return 'CREATE_NULL'
121
+ when 37
122
+ return 'GET_STATIC_METHOD_AS_DELEGATE'
123
+ when 38
124
+ return 'GET_INSTANCE_METHOD_AS_DELEGATE'
125
+ when 39
126
+ return 'PASS_DELEGATE'
127
+ when 40
128
+ return 'INVOKE_DELEGATE'
129
+ when 41
130
+ return 'CONVERT_TYPE'
116
131
  else
117
132
  raise 'Unknown command type'
118
133
  end
@@ -1 +1 @@
1
- 2.5.11
1
+ 2.5.13
@@ -22,6 +22,7 @@ require_relative '../../core/handler/array_set_item_handler'
22
22
  require_relative '../../core/handler/array_handler'
23
23
  require_relative '../../core/handler/enable_namespace_handler'
24
24
  require_relative '../../core/handler/enable_type_handler'
25
+ require_relative '../../core/handler/invoke_global_function_handler'
25
26
  require_relative '../../core/reference_cache/references_cache'
26
27
  require_relative '../../utils/exceptions/exception_serializer'
27
28
 
@@ -50,6 +51,7 @@ class Handler < AbstractHandler
50
51
  array_handler = ArrayHandler.new
51
52
  enable_namespace_handler = EnableNamespaceHandler.new
52
53
  enable_type_handler = EnableTypeHandler.new
54
+ invoke_global_function_handler = InvokeGlobalFunctionHandler.new
53
55
 
54
56
 
55
57
  $handler_dict[CommandType::VALUE] = value_handler
@@ -72,6 +74,7 @@ class Handler < AbstractHandler
72
74
  $handler_dict[CommandType::ARRAY] = array_handler
73
75
  $handler_dict[CommandType::ENABLE_NAMESPACE] = enable_namespace_handler
74
76
  $handler_dict[CommandType::ENABLE_TYPE] = enable_type_handler
77
+ $handler_dict[CommandType::INVOKE_GLOBAL_FUNCTION] = invoke_global_function_handler
75
78
  end
76
79
 
77
80
 
@@ -0,0 +1,45 @@
1
+ require_relative 'abstract_command_handler'
2
+
3
+ class InvokeGlobalFunctionHandler < AbstractCommandHandler
4
+ def process(command)
5
+ invoke_function(command)
6
+ end
7
+
8
+ def invoke_function(command)
9
+ begin
10
+ payload = command.payload
11
+ raise ArgumentError, "InvokeGlobalFunction requires at least one parameter" if payload.empty?
12
+
13
+ # Expect the first parameter to be a string in the form "ModuleName.function_name"
14
+ full_method_string = payload[0]
15
+ unless full_method_string.is_a?(String) && full_method_string.include?(".")
16
+ raise ArgumentError, "Expected a string in the format 'ModuleName.function_name'"
17
+ end
18
+
19
+ parts = full_method_string.split(".")
20
+ if parts.size < 2
21
+ raise ArgumentError, "Invalid function identifier format. Expected 'ModuleName.function_name'"
22
+ end
23
+
24
+ function_name = parts.pop
25
+ module_name = parts.join("::") # Convert dot-separated names to Ruby's "::" notation
26
+
27
+ begin
28
+ target = Object.const_get(module_name)
29
+ rescue NameError => e
30
+ raise NameError, "Module/Class #{module_name} not found: #{e.message}"
31
+ end
32
+
33
+ args = payload[1..-1] || []
34
+
35
+ if target.respond_to?(function_name)
36
+ target.send(function_name, *args)
37
+ else
38
+ available_methods = target.methods.join(', ')
39
+ raise NoMethodError, "Method #{function_name} not found in module #{module_name}. Available methods: #{available_methods}"
40
+ end
41
+ rescue Exception => e
42
+ e
43
+ end
44
+ end
45
+ end
@@ -6,7 +6,7 @@ class InvokeInstanceMethodHandler < AbstractCommandHandler
6
6
  end
7
7
 
8
8
  def process(command)
9
- return invoke_instance_method(command)
9
+ invoke_instance_method(command)
10
10
  end
11
11
 
12
12
  def invoke_instance_method(command)
@@ -14,15 +14,19 @@ class InvokeInstanceMethodHandler < AbstractCommandHandler
14
14
  if command.payload.length < @required_parameters_count
15
15
  raise ArgumentError.new "InvokeInstanceMethod parameters mismatch"
16
16
  end
17
+
18
+ instance = command.payload[0]
19
+ method_name = command.payload[1]
20
+
17
21
  if command.payload.length > 2
18
22
  arguments = command.payload[2..]
19
- return command.payload[0].send(command.payload[1], *arguments)
23
+ return instance.send(method_name, *arguments)
20
24
  else
21
- return command.payload[0].send(command.payload[1])
25
+ return instance.send(method_name)
22
26
  end
23
27
  rescue NoMethodError
24
- methods = command.payload[0].methods
25
- message = "Method #{command.payload[1]} not found in object of class #{command.payload[0].class.name}. Available methods:\n"
28
+ methods = instance.methods
29
+ message = "Method #{method_name} not found in object of class #{instance.class.name}. Available methods:\n"
26
30
  methods.each { |method_iter| message += "#{method_iter}\n" }
27
31
  raise Exception, message
28
32
  rescue Exception => e
@@ -14,14 +14,15 @@ class InvokeStaticMethodHandler < AbstractCommandHandler
14
14
  if command.payload.length < @required_parameters_count
15
15
  raise ArgumentError.new "Static method parameters mismatch"
16
16
  end
17
-
17
+
18
+ type = command.payload[0]
18
19
  method_name = command.payload[1]
19
20
  begin
20
21
  if command.payload.length > @required_parameters_count
21
22
  args = command.payload[2..]
22
- result = command.payload[0].send(method_name, *args)
23
+ result = type.send(method_name, *args)
23
24
  else
24
- result = command.payload[0].send(method_name)
25
+ result = type.send(method_name)
25
26
  end
26
27
  return result
27
28
  rescue NoMethodError
@@ -3,9 +3,9 @@ require_relative '../../utils/runtime_logger'
3
3
  require_relative '../protocol/command_serializer'
4
4
 
5
5
  class Receiver
6
-
6
+
7
7
  def initialize
8
- RuntimeLogger.print_runtime_info
8
+ puts RuntimeLogger.print_runtime_info
9
9
  end
10
10
 
11
11
  def send_command(message_array, message_array_len)
@@ -15,4 +15,8 @@ class Receiver
15
15
  def heart_beat(message_array, message_array_len)
16
16
  [49,48]
17
17
  end
18
+
19
+ def get_runtime_info
20
+ RuntimeLogger.get_runtime_info(true)
21
+ end
18
22
  end
@@ -22,14 +22,14 @@ class InvocationContext < AbstractInvocationContext
22
22
  # ObjectSpace.define_finalizer(self, self.finalize(@current_command, @is_executed, @interpreter, @connection_type, @tcp_ip_address))
23
23
  end
24
24
 
25
- # def finalize(command, is_executed, interpreter, connection_type, tcp_ip_address)
26
- # proc do
27
- # if command.command_type == CommandType::REFERENCE && is_executed == true
28
- # destruct_command = Command.new(@runtime_name, CommandType::DESTRUCT_REFERENCE, command.payload)
29
- # interpreter.execute(destruct_command, connection_type, tcp_ip_address)
30
- # end
31
- # end
32
- # end
25
+ # def finalize(command, is_executed, interpreter, connection_type, tcp_ip_address)
26
+ # proc do
27
+ # if command.command_type == CommandType::REFERENCE && is_executed == true
28
+ # destruct_command = Command.new(@runtime_name, CommandType::DESTRUCT_REFERENCE, command.payload)
29
+ # interpreter.execute(destruct_command, connection_type, tcp_ip_address)
30
+ # end
31
+ # end
32
+ # end
33
33
 
34
34
  def iterator
35
35
  if not [CommandType::REFERENCE, CommandType::ARRAY_GET_ITEM, CommandType::ARRAY_SET_ITEM].include? @current_command.command_type
@@ -69,8 +69,8 @@ class InvocationContext < AbstractInvocationContext
69
69
  @response_command = @interpreter.execute(@current_command, @connection_type, @tcp_ip_address)
70
70
 
71
71
  if @response_command.command_type == CommandType::EXCEPTION
72
- exception = ExceptionThrower.throw_exception(@response_command)
73
- SdkMessageHelper.send_message_to_app_insights("SdkException", exception.message)
72
+ exception = ExceptionThrower.throw_exception(@response_command)
73
+ SdkMessageHelper.send_message_to_app_insights("SdkException", exception.message)
74
74
  raise exception
75
75
  end
76
76
 
@@ -228,6 +228,14 @@ class InvocationContext < AbstractInvocationContext
228
228
  InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
229
229
  end
230
230
 
231
+ # Retrieves the value of a reference from the target runtime.
232
+ # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the ref value.
233
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/methods-arguments/passing-arguments-by-reference-with-ref-keyword article on Javonet Guides}
234
+ def get_ref_value
235
+ local_command = Command.new(@runtime_name, CommandType::GET_REF_VALUE, [])
236
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
237
+ end
238
+
231
239
  # Creates a null object of a specific type in the target runtime.
232
240
  # @return [InvocationContext] An InvocationContext instance with the command to create a null object.
233
241
  # @see Refer to this {https://www.javonet.com/guides/v2/ruby/null-handling/create-null-object article on Javonet Guides}
@@ -236,11 +244,23 @@ class InvocationContext < AbstractInvocationContext
236
244
  InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
237
245
  end
238
246
 
239
- # Retrieves the value of a reference from the target runtime.
240
- # @return [InvocationContext] A new InvocationContext instance that wraps the command to get the ref value.
241
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/methods-arguments/passing-arguments-by-reference-with-ref-keyword article on Javonet Guides}
242
- def get_ref_value
243
- local_command = Command.new(@runtime_name, CommandType::GET_REF_VALUE, [])
247
+ # Retrieves a static method as a delegate from the target runtime.
248
+ # @param method_name [String] The name of the static method to retrieve as a delegate.
249
+ # @param args [Array] The arguments to pass to the static method.
250
+ # @return [InvocationContext] An InvocationContext instance with the command to get the static method as a delegate.
251
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/delegates-and-events/using-delegates article on Javonet Guides}
252
+ def get_static_method_as_delegate(method_name, *args)
253
+ local_command = Command.new(@runtime_name, CommandType::GET_STATIC_METHOD_AS_DELEGATE, [method_name, *args])
254
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
255
+ end
256
+
257
+ # Retrieves an instance method as a delegate from the target runtime.
258
+ # @param method_name [String] The name of the instance method to retrieve as a delegate.
259
+ # @param args [Array] The arguments to pass to the instance method.
260
+ # @return [InvocationContext] An InvocationContext instance with the command to get the instance method as a delegate.
261
+ # # @see Refer to this {https://www.javonet.com/guides/v2/ruby/delegates-and-events/using-delegates article on Javonet Guides}
262
+ def get_instance_method_as_delegate(method_name, *args)
263
+ local_command = Command.new(@runtime_name, CommandType::GET_INSTANCE_METHOD_AS_DELEGATE, [method_name, *args])
244
264
  InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command))
245
265
  end
246
266
 
@@ -283,10 +303,8 @@ class InvocationContext < AbstractInvocationContext
283
303
  payload_item[i] = encapsulate_payload_item(payload_item[i])
284
304
  }
285
305
  return Command.new(@runtime_name, CommandType::ARRAY, [*payload_item])
286
-
287
306
  else
288
- return Command.new(@runtime_name, CommandType::VALUE, [*payload_item])
289
-
307
+ return Command.new(@runtime_name, CommandType::VALUE, payload_item.nil? ? [nil] : [*payload_item])
290
308
  end
291
309
  end
292
310
 
@@ -68,8 +68,8 @@ class RuntimeContext < AbstractRuntimeContext
68
68
  @current_command = nil
69
69
 
70
70
  if @response_command.command_type == CommandType::EXCEPTION
71
- exception = ExceptionThrower.throw_exception(@response_command)
72
- SdkMessageHelper.send_message_to_app_insights("SdkException", exception.message)
71
+ exception = ExceptionThrower.throw_exception(@response_command)
72
+ SdkMessageHelper.send_message_to_app_insights("SdkException", exception.message)
73
73
  raise exception
74
74
  end
75
75
  end
@@ -85,7 +85,7 @@ class RuntimeContext < AbstractRuntimeContext
85
85
  local_command = Command.new(@runtime_name, CommandType::LOAD_LIBRARY, [*args])
86
86
  @current_command = build_command(local_command)
87
87
  self.execute()
88
- return self
88
+ self
89
89
  end
90
90
 
91
91
  # Retrieves a reference to a specific type. The type can be a class, interface or enum. The type can be retrieved from any referenced library.
@@ -94,7 +94,7 @@ class RuntimeContext < AbstractRuntimeContext
94
94
  def get_type(*args)
95
95
  local_command = Command.new(@runtime_name, CommandType::GET_TYPE, [*args])
96
96
  @current_command = nil
97
- return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
97
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
98
98
  end
99
99
 
100
100
  # Casts the provided value to a specific type. This method is used when invoking methods that require specific types of arguments.
@@ -106,7 +106,7 @@ class RuntimeContext < AbstractRuntimeContext
106
106
  def cast(*args)
107
107
  local_command = Command.new(@runtime_name, CommandType::CAST, [*args])
108
108
  @current_command = nil
109
- return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
109
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
110
110
  end
111
111
 
112
112
  # Retrieves a specific item from an enum type. This method is used when working with enums from the called runtime.
@@ -119,7 +119,7 @@ class RuntimeContext < AbstractRuntimeContext
119
119
  def get_enum_item(*args)
120
120
  local_command = Command.new(@runtime_name, CommandType::GET_ENUM_ITEM, [*args])
121
121
  @current_command = nil
122
- return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
122
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
123
123
  end
124
124
 
125
125
  # Creates a reference type argument that can be passed to a method with a ref parameter modifier.
@@ -133,7 +133,7 @@ class RuntimeContext < AbstractRuntimeContext
133
133
  def as_ref(*args)
134
134
  local_command = Command.new(@runtime_name, CommandType::AS_REF, [*args])
135
135
  @current_command = nil
136
- return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
136
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
137
137
  end
138
138
 
139
139
  # Creates a reference type argument that can be passed to a method with an out parameter modifier.
@@ -147,14 +147,27 @@ class RuntimeContext < AbstractRuntimeContext
147
147
  def as_out(*args)
148
148
  local_command = Command.new(@runtime_name, CommandType::AS_OUT, [*args])
149
149
  @current_command = nil
150
- return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
150
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
151
+ end
152
+
153
+ # Invokes a function from the called runtime. This method is used when working with functions from the called runtime.
154
+ # The arguments include the function name and the arguments to be passed to the function.
155
+ # After invoking the function, the result can be used for further operations.
156
+ # @param function_name [String] The name of the function to invoke.
157
+ # @param args [Array] The arguments to be passed to the function.
158
+ # @return [InvocationContext] The InvocationContext instance that wraps the command to invoke the function.
159
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/functions/invoking-functions article on Javonet Guides}
160
+ def invoke_global_function(function_name, *args)
161
+ local_command = Command.new(@runtime_name, CommandType::INVOKE_GLOBAL_FUNCTION, [function_name, *args])
162
+ @current_command = nil
163
+ InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
151
164
  end
152
165
 
153
166
  def build_command(command)
154
167
  command.payload.each_index { |i|
155
168
  command.payload[i] = encapsulate_payload_item(command.payload[i])
156
169
  }
157
- return command.prepend_arg_to_payload(@current_command)
170
+ command.prepend_arg_to_payload(@current_command)
158
171
  end
159
172
 
160
173
  def encapsulate_payload_item(payload_item)
@@ -174,7 +187,7 @@ class RuntimeContext < AbstractRuntimeContext
174
187
  return Command.new(@runtime_name, CommandType::ARRAY, [*payload_item])
175
188
 
176
189
  else
177
- return Command.new(@runtime_name, CommandType::VALUE, [*payload_item])
190
+ return Command.new(@runtime_name, CommandType::VALUE, payload_item.nil? ? [nil] : [*payload_item])
178
191
  end
179
192
  end
180
193
 
@@ -15,7 +15,7 @@ class CommandType
15
15
  GET_INSTANCE_FIELD = 13
16
16
  OPTIMIZE = 14
17
17
  GENERATE_LIB = 15
18
- INVOKE_GLOBAL_METHOD = 16
18
+ INVOKE_GLOBAL_FUNCTION = 16
19
19
  DESTRUCT_REFERENCE = 17
20
20
  ARRAY_REFERENCE = 18
21
21
  ARRAY_GET_ITEM = 19
@@ -36,6 +36,11 @@ class CommandType
36
36
  ENABLE_NAMESPACE = 34
37
37
  ENABLE_TYPE = 35
38
38
  CREATE_NULL = 36
39
+ GET_STATIC_METHOD_AS_DELEGATE = 37
40
+ GET_INSTANCE_METHOD_AS_DELEGATE = 38
41
+ PASS_DELEGATE = 39
42
+ INVOKE_DELEGATE = 40
43
+ CONVERT_TYPE = 41
39
44
 
40
45
  def self.get_name(command_number)
41
46
  case command_number
@@ -62,7 +67,7 @@ class CommandType
62
67
  when 10
63
68
  return 'EXCEPTION'
64
69
  when 11
65
- return 'HEART_BEAT'
70
+ return 'HEARTBEAT'
66
71
  when 12
67
72
  return 'CAST'
68
73
  when 13
@@ -72,7 +77,7 @@ class CommandType
72
77
  when 15
73
78
  return 'GENERATE_LIB'
74
79
  when 16
75
- return 'INVOKE_GLOBAL_METHOD'
80
+ return 'INVOKE_GLOBAL_FUNCTION'
76
81
  when 17
77
82
  return 'DESTRUCT_REFERENCE'
78
83
  when 18
@@ -113,6 +118,16 @@ class CommandType
113
118
  return 'ENABLE_TYPE'
114
119
  when 36
115
120
  return 'CREATE_NULL'
121
+ when 37
122
+ return 'GET_STATIC_METHOD_AS_DELEGATE'
123
+ when 38
124
+ return 'GET_INSTANCE_METHOD_AS_DELEGATE'
125
+ when 39
126
+ return 'PASS_DELEGATE'
127
+ when 40
128
+ return 'INVOKE_DELEGATE'
129
+ when 41
130
+ return 'CONVERT_TYPE'
116
131
  else
117
132
  raise 'Unknown command type'
118
133
  end