javonet-ruby-sdk 2.3.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (240) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/Javonet.Clr.Utils.dll +0 -0
  4. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/JavonetClrRuntime.dll +0 -0
  5. data/lib/javonet-ruby-sdk/Binaries/Jvm/Linux/X64/JavonetJvmRuntime.jar +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Jvm/MacOs/X64/JavonetJvmRuntime.jar +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Jvm/Windows/X64/JavonetJvmRuntime.jar +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  20. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  23. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  45. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Core.dll +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Utils.dll +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Core.dll +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Utils.dll +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Core.dll +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Utils.dll +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/interpreter/Interpreter.js +3 -2
  52. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/CommandSerializer.js +21 -23
  53. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/transmitter/Transmitter.js +11 -7
  54. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/transmitter/TransmitterWrapper.js +6 -2
  55. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/RuntimeNameHandler.js +30 -0
  56. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/TcpConnectionData.js +43 -6
  57. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/interpreter/Interpreter.js +3 -2
  58. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/CommandSerializer.js +21 -23
  59. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/transmitter/Transmitter.js +11 -7
  60. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/transmitter/TransmitterWrapper.js +6 -2
  61. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/RuntimeNameHandler.js +30 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/TcpConnectionData.js +43 -6
  63. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/interpreter/Interpreter.js +3 -2
  64. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/CommandSerializer.js +21 -23
  65. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/transmitter/Transmitter.js +11 -7
  66. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/transmitter/TransmitterWrapper.js +6 -2
  67. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/RuntimeNameHandler.js +30 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/TcpConnectionData.js +43 -6
  69. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Meta/Requirements/Range.pm +776 -0
  70. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Meta/Requirements.pm +834 -0
  71. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/CPAN/Requirements/Dynamic.pm +384 -0
  72. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Config/MakeMaker.pm +141 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Config.pm +43 -5
  74. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/HasCompiler.pm +308 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +3 -3
  76. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Tiny.pm +26 -9
  77. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Path/Tiny.pm +10 -3
  78. 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
  79. 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
  80. 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
  81. 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
  82. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  83. 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
  84. 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
  85. 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
  86. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  87. 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
  88. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +145 -79
  89. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
  90. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
  91. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Javonet.pm +17 -9
  92. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
  93. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
  94. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
  95. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Meta/Requirements/Range.pm +776 -0
  96. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Meta/Requirements.pm +834 -0
  97. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/CPAN/Requirements/Dynamic.pm +384 -0
  98. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Config/MakeMaker.pm +141 -0
  99. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/Config.pm +43 -5
  100. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/HasCompiler.pm +308 -0
  101. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +3 -3
  102. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Module/Build/Tiny.pm +26 -9
  103. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Path/Tiny.pm +10 -3
  104. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +141 -75
  105. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
  106. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
  107. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Javonet.pm +17 -9
  108. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
  109. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
  110. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
  111. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  112. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  113. 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
  114. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  115. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  116. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +16 -16
  117. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +15 -10
  118. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +34 -19
  119. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Javonet.pm +17 -9
  120. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +2 -1
  121. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +31 -9
  122. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +18 -10
  123. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/interpreter/Interpreter.py +7 -5
  124. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandSerializer.py +8 -15
  125. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/transmitter/Transmitter.py +28 -0
  126. data/lib/javonet-ruby-sdk/Binaries/Python/{Windows/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → Linux/X64/javonet/core/transmitter/TransmitterWrapper.py} +86 -69
  127. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/RuntimeNameHandler.py +26 -0
  128. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/TcpConnectionData.py +29 -0
  129. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/interpreter/Interpreter.py +7 -5
  130. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandSerializer.py +8 -15
  131. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/transmitter/Transmitter.py +28 -0
  132. data/lib/javonet-ruby-sdk/Binaries/Python/{Linux/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → MacOs/X64/javonet/core/transmitter/TransmitterWrapper.py} +27 -10
  133. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/RuntimeNameHandler.py +26 -0
  134. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/TcpConnectionData.py +29 -0
  135. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/__pycache__/__init__.cpython-311.pyc +0 -0
  136. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/__pycache__/__init__.cpython-311.pyc +0 -0
  137. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-311.pyc +0 -0
  138. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/__init__.cpython-311.pyc +0 -0
  139. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/AbstractCommandHandler.cpython-311.pyc +0 -0
  140. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetItemHandler.cpython-311.pyc +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetRankHandler.cpython-311.pyc +0 -0
  142. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetSizeHandler.cpython-311.pyc +0 -0
  143. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayHandler.cpython-311.pyc +0 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArraySetItemHandler.cpython-311.pyc +0 -0
  145. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CastingHandler.cpython-311.pyc +0 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CreateClassInstanceHandler.cpython-311.pyc +0 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/DestructReferenceHandler.cpython-311.pyc +0 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumItemHandler.cpython-311.pyc +0 -0
  149. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumNameHandler.cpython-311.pyc +0 -0
  150. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumValueHandler.cpython-311.pyc +0 -0
  151. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetInstanceFieldHandler.cpython-311.pyc +0 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetStaticFieldHandler.cpython-311.pyc +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetTypeHandler.cpython-311.pyc +0 -0
  154. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeInstanceMethodHandler.cpython-311.pyc +0 -0
  155. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeStaticMethodHandler.cpython-311.pyc +0 -0
  156. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/LoadLibraryHandler.cpython-311.pyc +0 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ResolveInstanceHandler.cpython-311.pyc +0 -0
  158. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetInstanceFieldHandler.cpython-311.pyc +0 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetStaticFieldHandler.cpython-311.pyc +0 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ValueHandler.cpython-311.pyc +0 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/__init__.cpython-311.pyc +0 -0
  162. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractHandler.cpython-311.pyc +0 -0
  163. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/Handler.cpython-311.pyc +0 -0
  164. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/HandlerDictionary.cpython-311.pyc +0 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ReferencesCache.cpython-311.pyc +0 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/__init__.cpython-311.pyc +0 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/Interpreter.py +7 -5
  168. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/Interpreter.cpython-311.pyc +0 -0
  169. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/__init__.cpython-311.pyc +0 -0
  170. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/CommandSerializer.py +8 -15
  171. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-311.pyc +0 -0
  172. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandSerializer.cpython-311.pyc +0 -0
  173. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-311.pyc +0 -0
  174. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeSerializer.cpython-311.pyc +0 -0
  175. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/__init__.cpython-311.pyc +0 -0
  176. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/Receiver.cpython-311.pyc +0 -0
  177. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/__init__.cpython-311.pyc +0 -0
  178. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/transmitter/Transmitter.py +28 -0
  179. data/lib/javonet-ruby-sdk/Binaries/Python/{MacOs/X64/javonet/core/transmitter/PythonTransmitterWrapper.py → Windows/X64/javonet/core/transmitter/TransmitterWrapper.py} +86 -69
  180. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/RuntimeNameHandler.py +26 -0
  181. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/TcpConnectionData.py +29 -0
  182. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Command.cpython-311.pyc +0 -0
  183. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/CommandType.cpython-311.pyc +0 -0
  184. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ConnectionType.cpython-311.pyc +0 -0
  185. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ExceptionType.cpython-311.pyc +0 -0
  186. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/RuntimeName.cpython-311.pyc +0 -0
  187. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/StringEncodingMode.cpython-311.pyc +0 -0
  188. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/TcpConnectionData.cpython-311.pyc +0 -0
  189. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Type.cpython-311.pyc +0 -0
  190. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  191. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-311.pyc +0 -0
  192. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/__init__.cpython-311.pyc +0 -0
  193. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/interpreter/interpreter.rb +5 -6
  194. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +8 -24
  195. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter.rb +21 -12
  196. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/transmitter/transmitter_wrapper.rb +1 -1
  197. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command.rb +2 -1
  198. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name.rb +0 -30
  199. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_name_handler.rb +34 -0
  200. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/tcp_connection_data.rb +33 -0
  201. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/interpreter/interpreter.rb +5 -6
  202. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +8 -24
  203. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter.rb +21 -12
  204. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter_wrapper.rb +1 -1
  205. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command.rb +2 -1
  206. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name.rb +0 -30
  207. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_name_handler.rb +34 -0
  208. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/tcp_connection_data.rb +33 -0
  209. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/interpreter/interpreter.rb +5 -6
  210. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +8 -24
  211. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter.rb +21 -12
  212. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb +1 -1
  213. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command.rb +2 -1
  214. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name.rb +0 -30
  215. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_name_handler.rb +34 -0
  216. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/tcp_connection_data.rb +33 -0
  217. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  218. data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +5 -6
  219. data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +8 -24
  220. data/lib/javonet-ruby-sdk/core/transmitter/transmitter.rb +21 -12
  221. data/lib/javonet-ruby-sdk/core/transmitter/transmitter_wrapper.rb +1 -1
  222. data/lib/javonet-ruby-sdk/sdk/config_runtime_factory.rb +92 -0
  223. data/lib/javonet-ruby-sdk/sdk/internal/abstract_config_runtime_factory.rb +30 -0
  224. data/lib/javonet-ruby-sdk/sdk/{internal/invocation_context.rb → invocation_context.rb} +6 -6
  225. data/lib/javonet-ruby-sdk/sdk/javonet.rb +53 -0
  226. data/lib/javonet-ruby-sdk/sdk/{internal/runtime_context.rb → runtime_context.rb} +35 -35
  227. data/lib/javonet-ruby-sdk/sdk/{internal/runtime_factory.rb → runtime_factory.rb} +13 -18
  228. data/lib/javonet-ruby-sdk/sdk/tools/json_file_resolver.rb +55 -0
  229. data/lib/javonet-ruby-sdk/utils/command.rb +2 -1
  230. data/lib/javonet-ruby-sdk/utils/runtime_name.rb +0 -30
  231. data/lib/javonet-ruby-sdk/utils/runtime_name_handler.rb +34 -0
  232. data/lib/javonet-ruby-sdk/utils/tcp_connection_data.rb +33 -0
  233. data/lib/javonet-ruby-sdk.rb +1 -42
  234. metadata +49 -14
  235. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
  236. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
  237. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/transmitter/PythonTransmitter.py +0 -24
  238. /data/lib/javonet-ruby-sdk/sdk/internal/{abstract/abstract_invocation_context.rb → abstract_invocation_context.rb} +0 -0
  239. /data/lib/javonet-ruby-sdk/sdk/internal/{abstract/abstract_runtime_context.rb → abstract_runtime_context.rb} +0 -0
  240. /data/lib/javonet-ruby-sdk/sdk/internal/{abstract/abstract_runtime_factory.rb → abstract_runtime_factory.rb} +0 -0
@@ -1,4 +1,5 @@
1
1
  require_relative 'runtime_name'
2
+ require_relative 'runtime_name_handler'
2
3
  require_relative 'command_type'
3
4
 
4
5
  class Command
@@ -57,7 +58,7 @@ class Command
57
58
  end
58
59
 
59
60
  def to_string
60
- 'Runtime Library: ' + RuntimeName.get_name(@runtime_name).to_s + ' ' + 'Ruby command type: ' + CommandType.get_name(@command_type).to_s + ' ' + 'with parameters: ' + @payload.to_s
61
+ 'Runtime Library: ' + RuntimeNameHandler.get_name(@runtime_name) + ' ' + 'Ruby command type: ' + CommandType.get_name(@command_type).to_s + ' ' + 'with parameters: ' + @payload.to_s
61
62
  end
62
63
 
63
64
  def eql?(other)
@@ -8,34 +8,4 @@ module RuntimeName
8
8
  RUBY = 6
9
9
  NODEJS = 7
10
10
  CPP = 8
11
-
12
- def self.get_name(runtime_number)
13
- if runtime_number == 0
14
- return 'CLR'
15
- end
16
- if runtime_number == 1
17
- return 'GO'
18
- end
19
- if runtime_number == 2
20
- return 'JVM'
21
- end
22
- if runtime_number == 3
23
- return 'NETCORE'
24
- end
25
- if runtime_number == 4
26
- return 'PERL'
27
- end
28
- if runtime_number == 5
29
- return 'PYTHON'
30
- end
31
- if runtime_number == 6
32
- return 'RUBY'
33
- end
34
- if runtime_number == 7
35
- return 'NODEJS'
36
- end
37
- if runtime_number == 8
38
- return 'CPP'
39
- end
40
- end
41
11
  end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+ require_relative './runtime_name'
3
+
4
+ class RuntimeNameHandler
5
+ def self.get_name(runtime_name)
6
+ if runtime_name == RuntimeName::CLR
7
+ return 'clr'
8
+ end
9
+ if runtime_name == RuntimeName::GO
10
+ return 'go'
11
+ end
12
+ if runtime_name == RuntimeName::JVM
13
+ return 'jvm'
14
+ end
15
+ if runtime_name == RuntimeName::NETCORE
16
+ return 'netcore'
17
+ end
18
+ if runtime_name == RuntimeName::PERL
19
+ return 'perl'
20
+ end
21
+ if runtime_name == RuntimeName::PYTHON
22
+ return 'python'
23
+ end
24
+ if runtime_name == RuntimeName::RUBY
25
+ return 'ruby'
26
+ end
27
+ if runtime_name == RuntimeName::NODEJS
28
+ return 'nodejs'
29
+ end
30
+ if runtime_name == RuntimeName::CPP
31
+ return 'cpp'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,33 @@
1
+ class TcpConnectionData
2
+ attr_reader :ip_address, :port
3
+
4
+ def initialize(hostname, port)
5
+ @port = port
6
+ if hostname == "localhost"
7
+ @ip_address = "127.0.0.1"
8
+ else
9
+ begin
10
+ @ip_address = IPSocket.getaddress(hostname)
11
+ rescue SocketError
12
+ raise "Unable to resolve hostname to an IP address."
13
+ end
14
+ end
15
+ end
16
+
17
+ def ==(other)
18
+ other.is_a?(TcpConnectionData) && @ip_address == other.ip_address && @port == other.port
19
+ end
20
+
21
+ def to_s
22
+ "#{@ip_address}:#{@port}"
23
+
24
+ end
25
+
26
+ def get_address_bytes
27
+ @ip_address.split(".").map(&:to_i)
28
+ end
29
+
30
+ def get_port_bytes
31
+ [@port & 0xFF, @port >> 8]
32
+ end
33
+ end
@@ -1 +1 @@
1
- 2.3.0
1
+ 2.4.0
@@ -3,11 +3,11 @@ require_relative '../protocol/command_deserializer'
3
3
  require_relative '../handler/handler'
4
4
 
5
5
  class Interpreter
6
- def execute(command, connection_type, tcp_address)
6
+ def execute(command, connection_type, tcp_connection_data)
7
7
 
8
8
  command_serializer = CommandSerializer.new
9
- message_byte_array = command_serializer.serialize(command, connection_type, tcp_address)
10
- if command.runtime_name == RuntimeName::RUBY
9
+ message_byte_array = command_serializer.serialize(command, connection_type, tcp_connection_data)
10
+ if command.runtime_name == RuntimeName::RUBY && connection_type == ConnectionType::IN_MEMORY
11
11
  require_relative '../receiver/receiver'
12
12
  response_byte_array = Receiver.new.send_command(message_byte_array, message_byte_array.length)
13
13
  else
@@ -16,8 +16,7 @@ class Interpreter
16
16
  end
17
17
 
18
18
  command_deserializer = CommandDeserializer.new(response_byte_array,response_byte_array.length)
19
- encoded_response = command_deserializer.deserialize
20
- return encoded_response
19
+ command_deserializer.deserialize
21
20
  end
22
21
 
23
22
  def process(byte_array, byte_array_len)
@@ -25,6 +24,6 @@ class Interpreter
25
24
  received_command = command_deserializer.deserialize
26
25
  handler = Handler.new
27
26
  command_serializer = CommandSerializer.new
28
- return command_serializer.serialize(handler.handle_command(received_command), 0, "0.0.0.0:0")
27
+ command_serializer.serialize(handler.handle_command(received_command))
29
28
  end
30
29
  end
@@ -1,6 +1,7 @@
1
1
  require_relative 'type_serializer'
2
2
  require_relative '../../utils/connection_type'
3
3
  require_relative '../../utils/runtime_name'
4
+ require_relative '../../utils/tcp_connection_data'
4
5
 
5
6
  class CommandSerializer
6
7
 
@@ -8,38 +9,21 @@ class CommandSerializer
8
9
  @byte_buffer = []
9
10
  end
10
11
 
11
- def serialize(root_command, connection_type = ConnectionType::IN_MEMORY, tcp_address = nil, runtime_version = 0)
12
+ def serialize(root_command, connection_type = ConnectionType::IN_MEMORY, tcp_connection_data = nil, runtime_version = 0)
12
13
  queue = []
13
14
  queue.unshift(root_command)
14
15
  self.insert_into_buffer([root_command.runtime_name, runtime_version])
15
- if connection_type == ConnectionType::TCP
16
- self.insert_into_buffer([ConnectionType::TCP])
17
- self.insert_into_buffer(self.serialize_tcp(tcp_address))
18
- end
19
- if connection_type == ConnectionType::IN_MEMORY
20
- self.insert_into_buffer([ConnectionType::IN_MEMORY])
21
- self.insert_into_buffer([0, 0, 0, 0, 0, 0])
22
- end
16
+ self.insert_into_buffer([connection_type])
17
+ self.insert_into_buffer(self.serialize_tcp(tcp_connection_data))
23
18
  self.insert_into_buffer([RuntimeName::RUBY, root_command.command_type])
24
19
  self.serialize_recursively(queue)
25
20
  end
26
21
 
27
- def serialize_tcp(tcp_address)
28
- if tcp_address.kind_of?(Array)
29
- tcp_address
30
- else
31
- tcp_address_array = tcp_address.split(':')
32
- tcp_address_ip = tcp_address_array[0].split('.')
33
- tcp_address_port = tcp_address_array[1]
34
- tcp_address_bytearray = []
35
- tcp_address_ip.each { |address|
36
- tcp_address_bytearray.concat([address.to_i])
37
- }
38
- port_byte = [tcp_address_port.to_i].pack("s_").bytes
39
- tcp_address_bytearray.concat(port_byte)
40
- tcp_address_bytearray
22
+ def serialize_tcp(tcp_connection_data)
23
+ if tcp_connection_data.nil?
24
+ return [0, 0, 0, 0, 0, 0]
41
25
  end
42
-
26
+ tcp_connection_data.get_address_bytes + tcp_connection_data.get_port_bytes
43
27
  end
44
28
 
45
29
  def serialize_primitive(payload_item)
@@ -4,10 +4,6 @@ require_relative 'transmitter_wrapper'
4
4
 
5
5
  class Transmitter
6
6
 
7
- def self.get_native_error
8
- TransmitterWrapper.GetNativeError
9
- end
10
-
11
7
  def self.send_command(message_byte_array, message_byte_array_len)
12
8
  message = FFI::MemoryPointer.new(:uchar, message_byte_array_len, true)
13
9
  message.put_array_of_uchar(0, message_byte_array)
@@ -26,26 +22,39 @@ class Transmitter
26
22
  end
27
23
  end
28
24
 
29
- def self.activate_with_licence_file()
25
+ def self.activate_with_license_file()
30
26
  return activate()
31
27
  end
32
28
 
33
- def self.activate_with_credentials(licenceKey)
34
- return activate(licenceKey)
29
+ def self.activate_with_credentials(licenseKey)
30
+ return activate(licenseKey)
35
31
  end
36
32
 
37
- def self.activate_with_credentials_and_proxy(licenceKey, proxyHost, proxyUserName, proxyPassword)
38
- return activate(licenceKey, proxyHost, proxyUserName, proxyPassword)
33
+ def self.activate_with_credentials_and_proxy(licenseKey, proxyHost, proxyUserName, proxyPassword)
34
+ return activate(licenseKey, proxyHost, proxyUserName, proxyPassword)
39
35
  end
40
36
 
41
- private_class_method def self.activate(licenceKey = "", proxyHost = "", proxyUserName = "", proxyUserPassword = "")
42
- activation_result = TransmitterWrapper.Activate(licenceKey, proxyHost, proxyUserName, proxyUserPassword)
37
+ private_class_method def self.activate(licenseKey = "", proxyHost = "", proxyUserName = "", proxyUserPassword = "")
38
+ activation_result = TransmitterWrapper.Activate(licenseKey, proxyHost, proxyUserName, proxyUserPassword)
43
39
  if activation_result < 0
44
40
  error_message = get_native_error
45
- raise Exception.new "Javonet activation result: " + activation_result.to_s + ". " + error_message
41
+ raise Exception.new "Javonet activation result: " + activation_result.to_s + ". Native error message: " + error_message
46
42
  else
47
43
  return activation_result
48
44
  end
49
45
  end
50
46
 
47
+ def self.get_native_error
48
+ TransmitterWrapper.GetNativeError
49
+ end
50
+
51
+ def self.set_config_source(configPath)
52
+ set_config_result = TransmitterWrapper.SetConfigSource(configPath)
53
+ if set_config_result < 0
54
+ error_message = get_native_error
55
+ raise Exception.new "Javonet set config source result: " + set_config_result.to_s + ". Native error message: " + error_message
56
+ else
57
+ return set_config_result
58
+ end
59
+ end
51
60
  end
@@ -12,5 +12,5 @@ module TransmitterWrapper
12
12
  attach_function :ReadResponse, [:pointer, :int], :int
13
13
  attach_function :Activate, [:pointer, :pointer, :pointer, :pointer], :int
14
14
  attach_function :GetNativeError, [], :string
15
-
15
+ attach_function :SetConfigSource, [:pointer], :int
16
16
  end
@@ -0,0 +1,92 @@
1
+ require_relative './internal/abstract_config_runtime_factory'
2
+ require_relative './runtime_context'
3
+ require_relative './../utils/connection_type'
4
+ require_relative './tools/json_file_resolver'
5
+
6
+ # The ConfigRuntimeFactory class implements the AbstractConfigRuntimeFactory interface and provides methods for creating runtime contexts.
7
+ # Each method corresponds to a specific runtime (CLR, JVM, .NET Core, Perl, Ruby, Node.js, Python) and returns a RuntimeContext instance for that runtime.
8
+ # # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
9
+ class ConfigRuntimeFactory < AbstractConfigRuntimeFactory
10
+
11
+ def initialize(path)
12
+ @path = path
13
+ end
14
+
15
+ # Creates a RuntimeContext instance to interact with CLR runtime.
16
+ # @param config_name [String] The name of the configuration to use.
17
+ # @return [RuntimeContext] a RuntimeContext instance for the CLR runtime
18
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
19
+ def clr(config_name = "default")
20
+ get_runtime_context(RuntimeName::CLR, config_name)
21
+ end
22
+
23
+ # Creates a RuntimeContext instance to interact with JVM runtime.
24
+ # @param config_name [String] The name of the configuration to use.
25
+ # @return [RuntimeContext] a RuntimeContext instance for the JVM runtime
26
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
27
+ def jvm(config_name = "default")
28
+ get_runtime_context(RuntimeName::JVM, config_name)
29
+ end
30
+
31
+ # Creates a RuntimeContext instance to interact with .NET runtime.
32
+ # @param config_name [String] The name of the configuration to use.
33
+ # @return [RuntimeContext] a RuntimeContext instance for the .NET runtime
34
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
35
+ def netcore(config_name = "default")
36
+ get_runtime_context(RuntimeName::NETCORE, config_name)
37
+ end
38
+
39
+ # Creates a RuntimeContext instance to interact with Perl runtime.
40
+ # @param config_name [String] The name of the configuration to use.
41
+ # @return [RuntimeContext] a RuntimeContext instance for the Perl runtime
42
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
43
+ def perl(config_name = "default")
44
+ get_runtime_context(RuntimeName::PERL, config_name)
45
+ end
46
+
47
+ # Creates a RuntimeContext instance to interact with Ruby runtime.
48
+ # @param config_name [String] The name of the configuration to use.
49
+ # @return [RuntimeContext] a RuntimeContext instance for the Ruby runtime
50
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
51
+ def ruby(config_name = "default")
52
+ get_runtime_context(RuntimeName::RUBY, config_name)
53
+ end
54
+
55
+ # Creates a RuntimeContext instance to interact with Node.js runtime.
56
+ # @param config_name [String] The name of the configuration to use.
57
+ # @return [RuntimeContext] a RuntimeContext instance for the Node.js runtime
58
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
59
+ def nodejs(config_name = "default")
60
+ get_runtime_context(RuntimeName::NODEJS, config_name)
61
+ end
62
+
63
+ # Creates a RuntimeContext instance to interact with Python runtime.
64
+ # @param config_name [String] The name of the configuration to use.
65
+ # @return [RuntimeContext] a RuntimeContext instance for the Python runtime
66
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
67
+ def python(config_name = "default")
68
+ get_runtime_context(RuntimeName::PYTHON, config_name)
69
+ end
70
+
71
+ def get_runtime_context(runtime, config_name)
72
+ jfr = JsonFileResolver.new(@path)
73
+
74
+ begin
75
+ license_key = jfr.get_license_key
76
+ Transmitter.activate_with_credentials(license_key)
77
+ rescue
78
+ # licenseKey not found - do nothing
79
+ end
80
+
81
+ conn_type = jfr.get_channel_type(RuntimeNameHandler.get_name(runtime), config_name)
82
+ if conn_type == "tcp"
83
+ conn_data = TcpConnectionData.new(jfr.get_channel_host(RuntimeNameHandler.get_name(runtime), config_name),
84
+ jfr.get_channel_port(RuntimeNameHandler.get_name(runtime), config_name))
85
+ return RuntimeContext.get_instance(runtime, ConnectionType::TCP, conn_data)
86
+ elsif conn_type == "inMemory"
87
+ return RuntimeContext.get_instance(runtime, ConnectionType::IN_MEMORY, nil)
88
+ else
89
+ raise "Invalid connection type"
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,30 @@
1
+ class AbstractConfigRuntimeFactory
2
+ def clr(config_name = "default")
3
+ raise NotImplementedError, "method not implemented"
4
+ end
5
+
6
+ def jvm(config_name = "default")
7
+ raise NotImplementedError, "method not implemented"
8
+ end
9
+
10
+ def netcore(config_name = "default")
11
+ raise NotImplementedError, "method not implemented"
12
+ end
13
+
14
+ def perl(config_name = "default")
15
+ raise NotImplementedError, "method not implemented"
16
+ end
17
+
18
+ def ruby(config_name = "default")
19
+ raise NotImplementedError, "method not implemented"
20
+ end
21
+
22
+ def nodejs(config_name = "default")
23
+ raise NotImplementedError, "method not implemented"
24
+ end
25
+
26
+ def python(config_name = "default")
27
+ raise NotImplementedError, "method not implemented"
28
+ end
29
+
30
+ end
@@ -1,7 +1,7 @@
1
- require_relative 'abstract/abstract_invocation_context'
2
- require_relative '../../core/interpreter/interpreter'
3
- require_relative '../../core/exceptions/exception_thrower'
4
- require_relative 'invocation_context_iterator'
1
+ require_relative 'internal/abstract_invocation_context'
2
+ require_relative 'internal/invocation_context_iterator'
3
+ require_relative '../core/interpreter/interpreter'
4
+ require_relative '../core/exceptions/exception_thrower'
5
5
 
6
6
  # InvocationContext is a class that represents a context for invoking commands.
7
7
  # It implements several interfaces for different types of interactions.
@@ -18,8 +18,8 @@ class InvocationContext < AbstractInvocationContext
18
18
  @current_command = command
19
19
  @response_command = nil
20
20
  @interpreter = Interpreter.new
21
- # generates error: ruby/lib/javonet-ruby-sdk/sdk/internal/invocation_context.rb:17: warning: finalizer references object to be finalized
22
- #ObjectSpace.define_finalizer(self, self.finalize(@current_command, @is_executed, @interpreter, @connection_type, @tcp_ip_address))
21
+ # generates error: ruby/lib/javonet.rb-ruby-sdk/sdk/internal/invocation_context.rb:17: warning: finalizer references object to be finalized
22
+ # ObjectSpace.define_finalizer(self, self.finalize(@current_command, @is_executed, @interpreter, @connection_type, @tcp_ip_address))
23
23
  end
24
24
 
25
25
  def finalize(command, is_executed, interpreter, connection_type, tcp_ip_address)
@@ -0,0 +1,53 @@
1
+ require_relative './runtime_factory'
2
+ require_relative './config_runtime_factory'
3
+ require_relative './../utils/connection_type'
4
+ require_relative './../utils/tcp_connection_data'
5
+ require_relative './../core/transmitter/transmitter'
6
+
7
+ # The Javonet class is a singleton class that serves as the entry point for interacting with Javonet.
8
+ # It provides methods to activate and initialize the Javonet SDK.
9
+ # It supports both in-memory and TCP connections.
10
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/javonet-static-class article on Javonet Guides}
11
+ class Javonet
12
+
13
+ Transmitter.activate_with_license_file
14
+
15
+ # Initializes Javonet using an in-memory channel on the same machine.
16
+ # @return [RuntimeFactory] A RuntimeFactory instance configured for an in-memory connection.
17
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/in-memory-channel article on Javonet Guides}
18
+ def self.in_memory
19
+ RuntimeFactory.new(ConnectionType::IN_MEMORY, nil)
20
+ end
21
+
22
+ # Initializes Javonet with a TCP connection to a remote machine.
23
+ # @param address [TcpConnectionData] The address of the remote machine.
24
+ # @return [RuntimeFactory] A RuntimeFactory instance configured for a TCP connection.
25
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/tcp-channel article on Javonet Guides}
26
+ def self.tcp(tcp_connection_data)
27
+ RuntimeFactory.new(ConnectionType::TCP, tcp_connection_data)
28
+ end
29
+
30
+ # Initializes Javonet with a custom configuration file.
31
+ # @param path [String] Path to a configuration file.
32
+ # @return [ConfigRuntimeFactory] A ConfigRuntimeFactory instance configured with configuration data
33
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/configure-channel article on Javonet Guides}
34
+ def self.with_config(path)
35
+ Transmitter.set_config_source(path)
36
+ ConfigRuntimeFactory.new(path)
37
+ end
38
+
39
+ # Activates Javonet with the provided license key and optionally with proxy data.
40
+ # @param license_key [String] The license key to activate Javonet.
41
+ # @param proxy_host [String] The host for the proxy server (optional).
42
+ # @param proxy_user_name [String] The username for the proxy server (optional).
43
+ # @param proxy_user_password [String] The password for the proxy server (optional).
44
+ # @return [Integer] The activation status code.
45
+ # @see https://www.javonet.com/guides/v2/ruby/getting-started/activating-javonet Activating Javonet Guide
46
+ def self.activate(license_key, proxy_host=nil, proxy_user_name=nil, proxy_password=nil)
47
+ proxy_host ||= ""
48
+ proxy_user_name ||= ""
49
+ proxy_password ||= ""
50
+ return Transmitter.activate_with_credentials_and_proxy(license_key, proxy_host, proxy_user_name, proxy_password)
51
+ end
52
+
53
+ end
@@ -1,16 +1,17 @@
1
- require_relative 'abstract/abstract_runtime_context'
2
- require_relative 'invocation_context'
3
- require_relative '../../utils/connection_type'
4
- require_relative '../../core/interpreter/interpreter'
5
-
6
- # Represents a single context which allows interaction with a selected technology.
7
- # Refers to a single instance of the called runtime within a particular target OS process.
8
- # This can be either the local currently running process (inMemory) or a particular remote process identified by the IP Address and PORT of the target Javonet instance.
9
- # Multiple Runtime Contexts can be initialized within one process.
10
- # Calling the same technology on inMemory communication channel will return the existing instance of runtime context.
11
- # Calling the same technology on TCP channel but on different nodes will result in unique Runtime Contexts.
12
- # Within the runtime context, any number of libraries can be loaded and any objects from the target technology can be interacted with, as they are aware of each other due to sharing the same memory space and same runtime instance.
13
- # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
1
+ require_relative './internal/abstract_runtime_context'
2
+ require_relative './invocation_context'
3
+ require_relative './../utils/connection_type'
4
+ require_relative './../utils/tcp_connection_data'
5
+ require_relative './../core/interpreter/interpreter'
6
+
7
+ # Represents a single context which allows interaction with a selected technology.
8
+ # Refers to a single instance of the called runtime within a particular target OS process.
9
+ # This can be either the local currently running process (inMemory) or a particular remote process identified by the IP Address and PORT of the target Javonet instance.
10
+ # Multiple Runtime Contexts can be initialized within one process.
11
+ # Calling the same technology on inMemory communication channel will return the existing instance of runtime context.
12
+ # Calling the same technology on TCP channel but on different nodes will result in unique Runtime Contexts.
13
+ # Within the runtime context, any number of libraries can be loaded and any objects from the target technology can be interacted with, as they are aware of each other due to sharing the same memory space and same runtime instance.
14
+ # @see Refer to this {https://www.javonet.com/guides/v2/ruby/foundations/runtime-context article on Javonet Guides}
14
15
  class RuntimeContext < AbstractRuntimeContext
15
16
  @@memory_runtime_contexts = Hash.new
16
17
  @@network_runtime_contexts = Hash.new
@@ -21,33 +22,35 @@ class RuntimeContext < AbstractRuntimeContext
21
22
  # accessor set method
22
23
  attr_writer :current_command
23
24
 
24
- def initialize(runtime_name, connection_type, tcp_address)
25
+ def initialize(runtime_name, connection_type, tcp_connection_data)
25
26
  @runtime_name = runtime_name
26
27
  @connection_type = connection_type
27
- @tcp_ip_address = tcp_address
28
+ @tcp_ip_address = tcp_connection_data
28
29
  @current_command = nil
29
30
  @interpreter = Interpreter.new
30
31
  end
31
32
 
32
- def self.get_instance(runtime_name, connection_type, tcp_address)
33
- if (ConnectionType::TCP == connection_type) && tcp_address == nil
34
- if @@network_runtime_contexts.has_key?(tcp_address)
35
- runtime_ctx = @@network_runtime_contexts[tcp_address]
33
+ def self.get_instance(runtime_name, connection_type, tcp_connection_data)
34
+ case connection_type
35
+ when ConnectionType::IN_MEMORY
36
+ if @@memory_runtime_contexts.has_key?(runtime_name)
37
+ runtime_ctx = @@memory_runtime_contexts[runtime_name]
36
38
  runtime_ctx.current_command = nil
37
39
  return runtime_ctx
38
40
  else
39
- runtime_ctx = RuntimeContext.new(runtime_name, connection_type, tcp_address)
40
- @@network_runtime_contexts[:tcp_address] = runtime_ctx
41
+ runtime_ctx = RuntimeContext.new(runtime_name, connection_type, tcp_connection_data)
42
+ @@memory_runtime_contexts[runtime_name] = runtime_ctx
41
43
  return runtime_ctx
42
44
  end
43
- else
44
- if (@@memory_runtime_contexts.has_key?(runtime_name))
45
- runtime_ctx = @@network_runtime_contexts[runtime_name]
45
+ when ConnectionType::TCP
46
+ key = runtime_name.to_s + ":" + tcp_connection_data.to_s
47
+ if @@network_runtime_contexts.has_key?(key)
48
+ runtime_ctx = @@network_runtime_contexts[key]
46
49
  runtime_ctx.current_command = nil
47
50
  return runtime_ctx
48
51
  else
49
- runtime_ctx = RuntimeContext.new(runtime_name, connection_type, nil)
50
- @@memory_runtime_contexts[:tcp_address] = runtime_ctx
52
+ runtime_ctx = RuntimeContext.new(runtime_name, connection_type, tcp_connection_data)
53
+ @@network_runtime_contexts[key] = runtime_ctx
51
54
  return runtime_ctx
52
55
  end
53
56
  end
@@ -66,7 +69,7 @@ class RuntimeContext < AbstractRuntimeContext
66
69
  raise ExceptionThrower.throw_exception(@response_command)
67
70
  end
68
71
  end
69
-
72
+
70
73
  # Adds a reference to a library. Javonet allows you to reference and use modules or packages written in various languages.
71
74
  # This method allows you to use any library from all supported technologies. The necessary libraries need to be referenced.
72
75
  # The argument is a relative or full path to the library. If the library has dependencies on other libraries, the latter needs to be added first.
@@ -115,9 +118,9 @@ class RuntimeContext < AbstractRuntimeContext
115
118
  return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
116
119
  end
117
120
 
118
- # Creates a reference type argument that can be passed to a method with a ref parameter modifier.
121
+ # Creates a reference type argument that can be passed to a method with a ref parameter modifier.
119
122
  # This method is used when working with methods from the called runtime that require arguments to be passed by reference.
120
- # The arguments include the value and optionally the type of the reference.
123
+ # The arguments include the value and optionally the type of the reference.
121
124
  # The type must be retrieved from the called runtime using the getType method.
122
125
  # After creating the reference, it can be used as an argument when invoking methods.
123
126
  # @param args [Array] The value and optionally the type of the reference.
@@ -129,9 +132,9 @@ class RuntimeContext < AbstractRuntimeContext
129
132
  return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
130
133
  end
131
134
 
132
- # Creates a reference type argument that can be passed to a method with an out parameter modifier.
135
+ # Creates a reference type argument that can be passed to a method with an out parameter modifier.
133
136
  # This method is used when working with methods from the called runtime that require arguments to be passed by reference.
134
- # The arguments include the value and optionally the type of the reference.
137
+ # The arguments include the value and optionally the type of the reference.
135
138
  # The type must be retrieved from the called runtime using the getType method.
136
139
  # After creating the reference, it can be used as an argument when invoking methods.
137
140
  # @param args [Array] The value and optionally the type of the reference.
@@ -143,9 +146,8 @@ class RuntimeContext < AbstractRuntimeContext
143
146
  return InvocationContext.new(@runtime_name, @connection_type, @tcp_ip_address, build_command(local_command), false)
144
147
  end
145
148
 
146
-
147
149
  def build_command(command)
148
- command.payload.each_index {|i|
150
+ command.payload.each_index { |i|
149
151
  command.payload[i] = encapsulate_payload_item(command.payload[i])
150
152
  }
151
153
  return command.prepend_arg_to_payload(@current_command)
@@ -169,8 +171,6 @@ class RuntimeContext < AbstractRuntimeContext
169
171
 
170
172
  else
171
173
  return Command.new(@runtime_name, CommandType::VALUE, [*payload_item])
172
-
173
174
  end
174
175
  end
175
-
176
176
  end