javonet-ruby-sdk 2.5.2 → 2.5.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (214) 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 +18 -18
  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/core/protocol/CommandSerializer.js +11 -19
  94. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/receiver/Receiver.js +7 -2
  95. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/transmitter/TransmitterWrapper.js +1 -1
  96. data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/RuntimeLogger.js +27 -0
  97. 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
  98. 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
  99. 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
  100. 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
  101. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  102. 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
  103. 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
  104. 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
  105. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  106. 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
  107. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +78 -78
  108. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +10 -27
  109. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +20 -0
  110. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Receiver/Receiver.pm +6 -0
  111. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Javonet.pm +2 -0
  112. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/RuntimeLogger.pm +34 -0
  113. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  114. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  115. 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
  116. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  117. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  118. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +18 -18
  119. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +10 -27
  120. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +20 -0
  121. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Receiver/Receiver.pm +6 -0
  122. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Javonet.pm +2 -0
  123. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/RuntimeLogger.pm +34 -0
  124. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
  125. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/callback/callbackFunc.py +4 -2
  126. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/DelegatesCache.py +39 -0
  127. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__init__.py +0 -0
  128. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
  129. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
  130. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/__pycache__/__init__.cpython-312.pyc +0 -0
  131. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-312.pyc +0 -0
  132. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/__init__.cpython-312.pyc +0 -0
  133. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/GetInstanceMethodAsDelegateHandler.py +29 -0
  134. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/GetStaticMethodAsDelegateHandler.py +31 -0
  135. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/GetTypeHandler.py +27 -1
  136. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/Handler.py +9 -0
  137. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/InvokeDelegateHandler.py +27 -0
  138. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/InvokeStaticMethodHandler.py +0 -2
  139. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/LoadLibraryHandler.py +8 -2
  140. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/PassDelegateHandler.py +21 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
  142. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
  143. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
  145. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
  149. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
  150. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
  151. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
  154. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
  155. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
  156. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
  158. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
  162. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
  163. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
  164. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
  168. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
  169. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
  170. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
  171. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
  172. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
  173. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/Interpreter.py +0 -1
  174. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
  175. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
  176. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
  177. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  178. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py +13 -46
  179. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/TypeSerializer.py +21 -1
  180. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
  181. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
  182. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
  183. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
  184. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
  185. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/Receiver.py +5 -0
  186. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
  187. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
  188. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
  189. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  190. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/transmitter/TransmitterWrapper.py +7 -3
  191. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
  192. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
  193. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/CommandType.py +4 -0
  194. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/RuntimeLogger.py +30 -0
  195. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
  196. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
  197. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
  198. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
  199. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
  200. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
  201. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
  202. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
  203. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  204. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
  205. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
  206. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
  207. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
  208. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
  209. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/runtime_logger.rb +22 -0
  210. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/runtime_logger.rb +22 -0
  211. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/runtime_logger.rb +22 -0
  212. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  213. data/lib/javonet-ruby-sdk/utils/runtime_logger.rb +22 -0
  214. metadata +23 -2
@@ -1,6 +1,11 @@
1
+ import importlib
2
+ import inspect
3
+ import os
4
+ import sys
1
5
  from importlib import import_module
2
6
 
3
7
  from javonet.core.handler.AbstractCommandHandler import AbstractCommandHandler
8
+ from javonet.core.handler.LoadLibraryHandler import LoadLibraryHandler
4
9
  from javonet.core.namespaceCache.NamespaceCache import NamespaceCache
5
10
  from javonet.core.typeCache.TypeCache import TypeCache
6
11
 
@@ -37,7 +42,10 @@ class GetTypeHandler(AbstractCommandHandler):
37
42
 
38
43
  except Exception as e:
39
44
  exc_type, exc_value = type(e), e
40
- new_exc = exc_type(exc_value).with_traceback(e.__traceback__)
45
+ sys_path = "\n".join(sys.path)
46
+ available_types = "\n".join(self.get_all_available_types())
47
+ new_message = str(e) + "\nLoaded directories: " + sys_path + "\nAvailable user types:\n" + available_types + "\n\n\n"
48
+ new_exc = exc_type(new_message).with_traceback(e.__traceback__)
41
49
  raise new_exc from None
42
50
 
43
51
  def _get_type_from_payload(self, command):
@@ -55,3 +63,21 @@ class GetTypeHandler(AbstractCommandHandler):
55
63
  class_name = payload[-1]
56
64
  loaded_module = import_module(module_name)
57
65
  return getattr(loaded_module, class_name)
66
+
67
+
68
+ def get_all_available_types(self):
69
+ available_types = list()
70
+ for directory in LoadLibraryHandler.loaded_directories:
71
+ for root, _, files in os.walk(directory):
72
+ for file in files:
73
+ if file.endswith(".py") and file != "__init__.py":
74
+ module_name = os.path.splitext(file)[0]
75
+ module_path = os.path.relpath(os.path.join(root, module_name), directory)
76
+ module_path = module_path.replace(os.sep, ".")
77
+ try:
78
+ module = importlib.import_module(module_path)
79
+ for name, obj in inspect.getmembers(module, inspect.isclass):
80
+ available_types.append(name)
81
+ except Exception as e:
82
+ print(f"Error importing {module_path}: {e}")
83
+ return available_types
@@ -22,6 +22,11 @@ from javonet.core.handler.GetEnumNameHandler import GetEnumNameHandler
22
22
  from javonet.core.handler.GetEnumValueHandler import GetEnumValueHandler
23
23
  from javonet.core.handler.EnableNamespaceHandler import EnableNamespaceHandler
24
24
  from javonet.core.handler.EnableTypeHandler import EnableTypeHandler
25
+ from javonet.core.handler.GetStaticMethodAsDelegateHandler import GetStaticMethodAsDelegateHandler
26
+ from javonet.core.handler.GetInstanceMethodAsDelegateHandler import GetInstanceMethodAsDelegateHandler
27
+ from javonet.core.handler.PassDelegateHandler import PassDelegateHandler
28
+ from javonet.core.handler.InvokeDelegateHandler import InvokeDelegateHandler
29
+
25
30
 
26
31
  from javonet.core.handler.HandlerDictionary import handler_dict
27
32
  from javonet.core.referenceCache.ReferencesCache import ReferencesCache
@@ -56,6 +61,10 @@ class Handler(AbstractHandler):
56
61
  handler_dict[CommandType.GetEnumValue] = GetEnumValueHandler()
57
62
  handler_dict[CommandType.EnableNamespace] = EnableNamespaceHandler()
58
63
  handler_dict[CommandType.EnableType] = EnableTypeHandler()
64
+ handler_dict[CommandType.GetStaticMethodAsDelegate] = GetStaticMethodAsDelegateHandler()
65
+ handler_dict[CommandType.GetInstanceMethodAsDelegate] = GetInstanceMethodAsDelegateHandler()
66
+ handler_dict[CommandType.PassDelegate] = PassDelegateHandler()
67
+ handler_dict[CommandType.InvokeDelegate] = InvokeDelegateHandler()
59
68
 
60
69
  def handle_command(self, command):
61
70
  try:
@@ -0,0 +1,27 @@
1
+ from javonet.core.delegateCache.DelegatesCache import DelegatesCache
2
+ from javonet.core.handler.AbstractCommandHandler import *
3
+
4
+
5
+ class InvokeDelegateHandler(AbstractCommandHandler):
6
+
7
+ def __init__(self):
8
+ self._required_parameters_count = 1
9
+
10
+ def process(self, command):
11
+ try:
12
+ if len(command.payload) != self._required_parameters_count:
13
+ raise Exception("ResolveInstanceHandler parameters mismatch!")
14
+
15
+ delegates_cache = DelegatesCache()
16
+ method = delegates_cache.resolve_delegate(command)
17
+ if len(command.payload) > 1:
18
+ method_arguments = command.payload[1:]
19
+ return method(*method_arguments)
20
+ else:
21
+ return method()
22
+ except Exception as e:
23
+ exc_type, exc_value = type(e), e
24
+ new_exc = exc_type(exc_value).with_traceback(e.__traceback__)
25
+ raise new_exc from None
26
+
27
+
@@ -1,5 +1,3 @@
1
- import traceback
2
-
3
1
  from javonet.core.handler.AbstractCommandHandler import *
4
2
 
5
3
 
@@ -2,9 +2,10 @@ from javonet.core.handler.AbstractCommandHandler import *
2
2
  import sys
3
3
  import os
4
4
 
5
-
6
5
  class LoadLibraryHandler(AbstractCommandHandler):
7
6
 
7
+ loaded_directories = []
8
+
8
9
  def __init__(self):
9
10
  self._required_parameters_count = 1
10
11
 
@@ -15,11 +16,16 @@ class LoadLibraryHandler(AbstractCommandHandler):
15
16
 
16
17
  if os.path.isdir(command.payload[0]):
17
18
  sys.path.append(command.payload[0])
19
+ LoadLibraryHandler.loaded_directories.append(command.payload[0])
18
20
  else:
19
- raise Exception(command.payload[0] + " does not exist");
21
+ raise Exception(command.payload[0] + " is not a valid directory")
20
22
 
21
23
  return 0
22
24
  except Exception as e:
23
25
  exc_type, exc_value = type(e), e
24
26
  new_exc = exc_type(exc_value).with_traceback(e.__traceback__)
25
27
  raise new_exc from None
28
+
29
+ @staticmethod
30
+ def get_loaded_directories():
31
+ return LoadLibraryHandler.loaded_directories
@@ -0,0 +1,21 @@
1
+ from javonet.core.delegateCache.DelegatesCache import DelegatesCache
2
+ from javonet.core.handler.AbstractCommandHandler import *
3
+
4
+
5
+ class PassDelegateHandler(AbstractCommandHandler):
6
+
7
+ def __init__(self):
8
+ self._required_parameters_count = 1
9
+
10
+ def process(self, command):
11
+ try:
12
+ if len(command.payload) != self._required_parameters_count:
13
+ raise Exception("ResolveInstanceHandler parameters mismatch!")
14
+
15
+ # TO BE IMPLEMENTED
16
+ except Exception as e:
17
+ exc_type, exc_value = type(e), e
18
+ new_exc = exc_type(exc_value).with_traceback(e.__traceback__)
19
+ raise new_exc from None
20
+
21
+
@@ -7,7 +7,6 @@ from javonet.utils.connectionData.IConnectionData import IConnectionData
7
7
 
8
8
  handler = Handler()
9
9
 
10
-
11
10
  class Interpreter:
12
11
 
13
12
  def execute(self, command, connection_data: IConnectionData):
@@ -1,6 +1,3 @@
1
- from collections import deque
2
- from typing import Deque
3
-
4
1
  from javonet.core.protocol.TypeSerializer import TypeSerializer
5
2
  from javonet.utils.Command import Command
6
3
  from javonet.utils.RuntimeName import RuntimeName
@@ -8,54 +5,24 @@ from javonet.utils.connectionData.IConnectionData import IConnectionData
8
5
 
9
6
 
10
7
  class CommandSerializer:
11
- byte_buffer = []
8
+ buffer = []
12
9
 
13
10
  def serialize(self, root_command: Command, connection_data: IConnectionData, runtime_version=0):
14
- queue: Deque[Command] = deque()
15
- queue.append(root_command)
16
11
  self.insert_into_buffer([root_command.runtime_name.value, runtime_version])
17
12
  self.insert_into_buffer(connection_data.serialize_connection_data())
18
13
  self.insert_into_buffer([RuntimeName.python.value, root_command.command_type.value])
19
- return self.serialize_recursively(queue)
20
-
21
- @staticmethod
22
- def serialize_primitive(payload_item):
23
- if payload_item is None:
24
- return TypeSerializer.serialize_none()
25
- if isinstance(payload_item, bool):
26
- return TypeSerializer.serialize_bool(payload_item)
27
- elif isinstance(payload_item, int):
28
- if payload_item in range(-2 ** 31, 2 ** 31):
29
- return TypeSerializer.serialize_int(payload_item)
30
- elif payload_item in range(-2 ** 63, 2 ** 63):
31
- return TypeSerializer.serialize_longlong(payload_item)
14
+ self.serialize_recursively(root_command)
15
+ return self.buffer
16
+
17
+ def serialize_recursively(self, command):
18
+ for item in command.get_payload():
19
+ if isinstance(item, Command):
20
+ self.insert_into_buffer(TypeSerializer.serialize_command(item))
21
+ self.serialize_recursively(item)
32
22
  else:
33
- return TypeSerializer.serialize_ullong(payload_item)
34
- elif isinstance(payload_item, float):
35
- return TypeSerializer.serialize_double(payload_item)
36
- elif isinstance(payload_item, str):
37
- return TypeSerializer.serialize_string(payload_item)
38
- else:
39
- raise Exception("Python: Type serialization not supported for type: " + payload_item)
40
-
41
- def insert_into_buffer(self, arguments):
42
- self.byte_buffer = self.byte_buffer + arguments
23
+ self.insert_into_buffer(TypeSerializer.serialize_primitive(item))
43
24
 
44
- def serialize_recursively(self, queue):
45
- if not queue:
46
- return self.byte_buffer
47
- command = queue.pop()
48
- queue.append(command.drop_first_payload_argument())
49
- if len(command.get_payload()) > 0:
50
- if isinstance(command.get_payload()[0], Command):
51
- inner_command = command.get_payload()[0]
52
- self.insert_into_buffer(TypeSerializer.serialize_command(inner_command))
53
- queue.append(inner_command)
54
- else:
55
- result = self.serialize_primitive(command.get_payload()[0])
56
- self.insert_into_buffer(result)
57
- return self.serialize_recursively(queue)
58
- else:
59
- queue.pop()
25
+ return
60
26
 
61
- return self.serialize_recursively(queue)
27
+ def insert_into_buffer(self, arguments):
28
+ self.buffer = self.buffer + arguments
@@ -5,7 +5,27 @@ from javonet.utils.StringEncodingMode import StringEncodingMode
5
5
 
6
6
 
7
7
  class TypeSerializer:
8
-
8
+
9
+ @staticmethod
10
+ def serialize_primitive(payload_item):
11
+ if payload_item is None:
12
+ return TypeSerializer.serialize_none()
13
+ if isinstance(payload_item, bool):
14
+ return TypeSerializer.serialize_bool(payload_item)
15
+ elif isinstance(payload_item, int):
16
+ if payload_item in range(-2 ** 31, 2 ** 31):
17
+ return TypeSerializer.serialize_int(payload_item)
18
+ elif payload_item in range(-2 ** 63, 2 ** 63):
19
+ return TypeSerializer.serialize_longlong(payload_item)
20
+ else:
21
+ return TypeSerializer.serialize_ullong(payload_item)
22
+ elif isinstance(payload_item, float):
23
+ return TypeSerializer.serialize_double(payload_item)
24
+ elif isinstance(payload_item, str):
25
+ return TypeSerializer.serialize_string(payload_item)
26
+ else:
27
+ raise Exception("Python: Type serialization not supported for type: " + payload_item)
28
+
9
29
  @staticmethod
10
30
  def serialize_command(command):
11
31
  length = list(bytearray(struct.pack("<i", len(command.payload))))
@@ -1,11 +1,16 @@
1
+ import sys
2
+
1
3
  from javonet.core.interpreter.Interpreter import Interpreter
2
4
  from javonet.core.protocol.CommandSerializer import CommandSerializer
5
+ from javonet.utils.RuntimeLogger import RuntimeLogger
3
6
  from javonet.utils.connectionData.InMemoryConnectionData import InMemoryConnectionData
4
7
 
5
8
 
6
9
  class Receiver:
7
10
 
8
11
  def __init__(self):
12
+ RuntimeLogger.print_runtime_info()
13
+ sys.stdout.flush()
9
14
  self.connection_data = InMemoryConnectionData()
10
15
 
11
16
  def SendCommand(self, message_byte_array, messageByteArrayLen):
@@ -24,6 +24,8 @@ class TransmitterWrapper:
24
24
  python_lib_path = file_path + f'/Binaries/Native/Linux/{arch}/libJavonetPythonRuntimeNative.so'
25
25
  elif platform.system() == 'Darwin':
26
26
  python_lib_path = file_path + f'/Binaries/Native/MacOs/{arch}/libJavonetPythonRuntimeNative.dylib'
27
+ else:
28
+ raise RuntimeError("Unsupported OS: " + platform.system())
27
29
 
28
30
  python_lib = cdll.LoadLibrary(python_lib_path)
29
31
  python_lib.SetCallback(callbackFunction)
@@ -69,10 +71,11 @@ class TransmitterWrapper:
69
71
  get_native_error.argtypes = []
70
72
  error_message = get_native_error()
71
73
  raise RuntimeError(
72
- "Javonet activation result: " + str(activation_result) + ". Native error message: " + str(error_message))
74
+ "Javonet activation result: " + str(activation_result) + ". Native error message: " + str(
75
+ error_message))
73
76
  else:
74
77
  return activation_result
75
-
78
+
76
79
  @staticmethod
77
80
  def set_config_source(sourcePath):
78
81
  set_config_source = TransmitterWrapper.python_lib.SetConfigSource
@@ -87,6 +90,7 @@ class TransmitterWrapper:
87
90
  get_native_error.argtypes = []
88
91
  error_message = get_native_error()
89
92
  raise RuntimeError(
90
- "Javonet set config source result: " + str(set_config_result) + ". Native error message: " + str(error_message))
93
+ "Javonet set config source result: " + str(set_config_result) + ". Native error message: " + str(
94
+ error_message))
91
95
  else:
92
96
  return set_config_result
@@ -39,3 +39,7 @@ class CommandType(Enum):
39
39
  EnableNamespace = 34
40
40
  EnableType = 35
41
41
  CreateNull = 36
42
+ GetStaticMethodAsDelegate = 37
43
+ GetInstanceMethodAsDelegate = 38
44
+ PassDelegate = 39
45
+ InvokeDelegate = 40
@@ -0,0 +1,30 @@
1
+ import platform
2
+ import os
3
+ import sys
4
+
5
+
6
+ class RuntimeLogger:
7
+
8
+ not_logged_yet = True
9
+ @staticmethod
10
+ def get_runtime_info():
11
+ try:
12
+ return (
13
+ "Python Managed Runtime Info:\n"
14
+ f"Python Version: {platform.python_version()}\n"
15
+ f"Python executable path: {sys.executable}\n"
16
+ f"Python Path: {sys.path}\n"
17
+ f"Python Implementation: {platform.python_implementation()}\n"
18
+ f"OS Version: {platform.system()} {platform.version()}\n"
19
+ f"Process Architecture: {platform.machine()}\n"
20
+ f"Current Directory: {os.getcwd()}\n"
21
+ )
22
+ except Exception as e:
23
+ return "Python Managed Runtime Info: Error while fetching runtime info"
24
+
25
+ @staticmethod
26
+ def print_runtime_info():
27
+ if RuntimeLogger.not_logged_yet:
28
+ print(RuntimeLogger.get_runtime_info())
29
+ RuntimeLogger.not_logged_yet = False
30
+
@@ -0,0 +1,22 @@
1
+ class RuntimeLogger
2
+
3
+ @not_logged_yet = true
4
+
5
+ def self.get_runtime_info
6
+ begin
7
+ "Ruby Managed Runtime Info:\n" \
8
+ "Ruby Version: #{RUBY_VERSION}\n" \
9
+ "Ruby Implementation: #{RUBY_ENGINE}\n" \
10
+ "Current Directory: #{Dir.pwd}\n"
11
+ rescue => e
12
+ "Ruby Managed Runtime Info: Error while fetching runtime info"
13
+ end
14
+ end
15
+
16
+ def self.print_runtime_info
17
+ if @not_logged_yet
18
+ puts get_runtime_info
19
+ @not_logged_yet = false
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ class RuntimeLogger
2
+
3
+ @not_logged_yet = true
4
+
5
+ def self.get_runtime_info
6
+ begin
7
+ "Ruby Managed Runtime Info:\n" \
8
+ "Ruby Version: #{RUBY_VERSION}\n" \
9
+ "Ruby Implementation: #{RUBY_ENGINE}\n" \
10
+ "Current Directory: #{Dir.pwd}\n"
11
+ rescue => e
12
+ "Ruby Managed Runtime Info: Error while fetching runtime info"
13
+ end
14
+ end
15
+
16
+ def self.print_runtime_info
17
+ if @not_logged_yet
18
+ puts get_runtime_info
19
+ @not_logged_yet = false
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ class RuntimeLogger
2
+
3
+ @not_logged_yet = true
4
+
5
+ def self.get_runtime_info
6
+ begin
7
+ "Ruby Managed Runtime Info:\n" \
8
+ "Ruby Version: #{RUBY_VERSION}\n" \
9
+ "Ruby Implementation: #{RUBY_ENGINE}\n" \
10
+ "Current Directory: #{Dir.pwd}\n"
11
+ rescue => e
12
+ "Ruby Managed Runtime Info: Error while fetching runtime info"
13
+ end
14
+ end
15
+
16
+ def self.print_runtime_info
17
+ if @not_logged_yet
18
+ puts get_runtime_info
19
+ @not_logged_yet = false
20
+ end
21
+ end
22
+ end
@@ -1 +1 @@
1
- 2.5.2
1
+ 2.5.4
@@ -0,0 +1,22 @@
1
+ class RuntimeLogger
2
+
3
+ @not_logged_yet = true
4
+
5
+ def self.get_runtime_info
6
+ begin
7
+ "Ruby Managed Runtime Info:\n" \
8
+ "Ruby Version: #{RUBY_VERSION}\n" \
9
+ "Ruby Implementation: #{RUBY_ENGINE}\n" \
10
+ "Current Directory: #{Dir.pwd}\n"
11
+ rescue => e
12
+ "Ruby Managed Runtime Info: Error while fetching runtime info"
13
+ end
14
+ end
15
+
16
+ def self.print_runtime_info
17
+ if @not_logged_yet
18
+ puts get_runtime_info
19
+ @not_logged_yet = false
20
+ end
21
+ end
22
+ end