javonet-ruby-sdk 2.5.2 → 2.5.4

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 (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