r2corba 1.5.1-x64-mingw32 → 1.6.1-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/LICENSE +5 -5
- data/README.rdoc +62 -0
- data/THANKS +4 -4
- data/lib/corba/cbase/IORMap.rb +0 -1
- data/lib/corba/cbase/ORB.rb +26 -24
- data/lib/corba/cbase/Request.rb +4 -5
- data/lib/corba/cbase/Streams.rb +2 -3
- data/lib/corba/cbase/Stub.rb +0 -1
- data/lib/corba/cbase/Typecode.rb +6 -7
- data/lib/corba/cbase/Values.rb +4 -3
- data/lib/corba/cbase/exception.rb +6 -5
- data/lib/corba/cbase/poa.rb +1 -2
- data/lib/corba/cbase/policies.rb +3 -4
- data/lib/corba/cbase/post_require.rb +1 -2
- data/lib/corba/cbase/require.rb +10 -2
- data/lib/corba/cmds/base.rb +1 -2
- data/lib/corba/cmds/test.rb +0 -1
- data/lib/corba/common/Any.rb +3 -3
- data/lib/corba/common/IDL.rb +6 -10
- data/lib/corba/common/ORB.rb +22 -23
- data/lib/corba/common/Object.rb +18 -15
- data/lib/corba/common/Request.rb +1 -2
- data/lib/corba/common/Servant.rb +4 -5
- data/lib/corba/common/Struct.rb +1 -2
- data/lib/corba/common/Stub.rb +6 -7
- data/lib/corba/common/Typecode.rb +91 -65
- data/lib/corba/common/Union.rb +6 -2
- data/lib/corba/common/Values.rb +2 -2
- data/lib/corba/common/const.rb +2 -3
- data/lib/corba/common/exception.rb +2 -2
- data/lib/corba/common/require.rb +8 -1
- data/lib/corba/common/version.rb +3 -4
- data/lib/corba/idl/BiDirPolicyC.rb +2 -3
- data/lib/corba/idl/CosNamingC.rb +4 -5
- data/lib/corba/idl/CosNamingS.rb +2 -3
- data/lib/corba/idl/IDL.rb +1 -2
- data/lib/corba/idl/IORTable.pidl +0 -1
- data/lib/corba/idl/IORTableC.rb +2 -3
- data/lib/corba/idl/MessagingC.rb +2 -3
- data/lib/corba/idl/POAC.rb +10 -11
- data/lib/corba/idl/TAO_Ext.pidl +0 -1
- data/lib/corba/idl/TAO_ExtC.rb +2 -3
- data/lib/corba/idl/r2c_orb.rb +5 -6
- data/lib/corba/idl/require.rb +0 -1
- data/lib/corba/jbase/Any.rb +29 -28
- data/lib/corba/jbase/IORMap.rb +1 -2
- data/lib/corba/jbase/ORB.rb +5 -6
- data/lib/corba/jbase/Object.rb +13 -14
- data/lib/corba/jbase/Request.rb +9 -10
- data/lib/corba/jbase/Servant.rb +11 -12
- data/lib/corba/jbase/ServerRequest.rb +8 -9
- data/lib/corba/jbase/Streams.rb +68 -5
- data/lib/corba/jbase/Stub.rb +0 -1
- data/lib/corba/jbase/Typecode.rb +17 -17
- data/lib/corba/jbase/Values.rb +2 -1
- data/lib/corba/jbase/exception.rb +2 -2
- data/lib/corba/jbase/poa.rb +21 -22
- data/lib/corba/jbase/policies.rb +33 -34
- data/lib/corba/jbase/post_require.rb +0 -1
- data/lib/corba/jbase/require.rb +5 -2
- data/lib/corba/naming.rb +0 -1
- data/lib/corba/naming_service.rb +0 -1
- data/lib/corba/poa.rb +1 -2
- data/lib/corba/policies.rb +1 -2
- data/lib/corba/require.rb +2 -3
- data/lib/corba/svcs/ins/cos_naming.rb +74 -68
- data/lib/corba/svcs/ins/ins.rb +58 -59
- data/lib/corba/svcs/ins/naming_service.rb +9 -10
- data/lib/corba.rb +1 -2
- data/lib/ridlbe/ruby/config.rb +78 -74
- data/lib/ridlbe/ruby/require.rb +0 -1
- data/lib/ridlbe/ruby/walker.rb +311 -288
- data/mkrf_conf_bingem.rb +4 -6
- data/rakelib/bin.rake +2 -3
- data/rakelib/bin.rb +4 -5
- data/rakelib/build.rake +22 -22
- data/rakelib/config.rake +2 -3
- data/rakelib/config.rb +32 -34
- data/rakelib/ext.rake +18 -77
- data/rakelib/ext.rb +19 -58
- data/rakelib/ext_r2tao.rb +33 -60
- data/rakelib/gem.rake +53 -38
- data/rakelib/gem.rb +9 -10
- data/rakelib/package.rake +2 -3
- data/rakelib/test.rake +0 -1
- data/test/BiDirectional/Test.idl +0 -1
- data/test/BiDirectional/client.rb +18 -19
- data/test/BiDirectional/run_test.rb +11 -12
- data/test/BiDirectional/server.rb +21 -23
- data/test/CORBA_Services/Naming/BindingIterator/Test.idl +0 -1
- data/test/CORBA_Services/Naming/BindingIterator/client.rb +17 -18
- data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +13 -14
- data/test/CORBA_Services/Naming/BindingIterator/server.rb +19 -20
- data/test/CORBA_Services/Naming/Corbaname/Test.idl +0 -1
- data/test/CORBA_Services/Naming/Corbaname/client.rb +15 -16
- data/test/CORBA_Services/Naming/Corbaname/run_test.rb +13 -14
- data/test/CORBA_Services/Naming/Corbaname/server.rb +27 -28
- data/test/CORBA_Services/Naming/Simple/Test.idl +0 -1
- data/test/CORBA_Services/Naming/Simple/client.rb +16 -17
- data/test/CORBA_Services/Naming/Simple/run_test.rb +13 -14
- data/test/CORBA_Services/Naming/Simple/server.rb +19 -20
- data/test/Collocation/Diamond.idl +0 -1
- data/test/Collocation/run_test.rb +10 -11
- data/test/Collocation/test.rb +27 -21
- data/test/Connect_Timeout/Test.idl +0 -1
- data/test/Connect_Timeout/client.rb +16 -18
- data/test/Connect_Timeout/run_test.rb +10 -11
- data/test/DII/Test.idl +0 -1
- data/test/DII/client.rb +30 -31
- data/test/DII/run_test.rb +11 -12
- data/test/DII/server.rb +16 -17
- data/test/DSI/Test.idl +0 -1
- data/test/DSI/client.rb +16 -17
- data/test/DSI/run_test.rb +11 -12
- data/test/DSI/server.rb +17 -18
- data/test/Exceptions/Test.idl +0 -1
- data/test/Exceptions/client.rb +22 -23
- data/test/Exceptions/run_test.rb +11 -12
- data/test/Exceptions/server.rb +16 -17
- data/test/Hello/Test.idl +0 -1
- data/test/Hello/client.rb +16 -17
- data/test/Hello/run_test.rb +11 -12
- data/test/Hello/server.rb +17 -18
- data/test/IDL_Test/Test.idl +4 -1
- data/test/IDL_Test/client.rb +24 -23
- data/test/IDL_Test/run_test.rb +11 -12
- data/test/IDL_Test/server.rb +23 -19
- data/test/IORMap/Test.idl +0 -1
- data/test/IORMap/client.rb +14 -15
- data/test/IORMap/run_test.rb +11 -12
- data/test/IORMap/server.rb +23 -24
- data/test/IORTable/Test.idl +0 -1
- data/test/IORTable/client.rb +14 -15
- data/test/IORTable/run_test.rb +11 -12
- data/test/IORTable/server.rb +23 -24
- data/test/Implicit_Conversion/Test.idl +0 -1
- data/test/Implicit_Conversion/client.rb +20 -18
- data/test/Implicit_Conversion/run_test.rb +11 -12
- data/test/Implicit_Conversion/server.rb +16 -17
- data/test/Multi_Threading/Multiple_ORB/Test.idl +0 -1
- data/test/Multi_Threading/Multiple_ORB/client.rb +14 -15
- data/test/Multi_Threading/Multiple_ORB/run_test.rb +12 -13
- data/test/Multi_Threading/Multiple_ORB/server.rb +17 -18
- data/test/Multi_Threading/Simple/Test.idl +0 -1
- data/test/Multi_Threading/Simple/client.rb +17 -18
- data/test/Multi_Threading/Simple/run_test.rb +11 -12
- data/test/Multi_Threading/Simple/server.rb +17 -18
- data/test/Multi_Threading/Threads/Test.idl +0 -4
- data/test/Multi_Threading/Threads/client.rb +23 -26
- data/test/Multi_Threading/Threads/run_test.rb +11 -12
- data/test/Multi_Threading/Threads/server.rb +19 -22
- data/test/Multi_Threading/Threads/watchdog.rb +16 -16
- data/test/Multiple_Servant_Interfaces/Test.idl +0 -1
- data/test/Multiple_Servant_Interfaces/client.rb +14 -15
- data/test/Multiple_Servant_Interfaces/run_test.rb +11 -12
- data/test/Multiple_Servant_Interfaces/server.rb +18 -19
- data/test/Nil/Test.idl +0 -1
- data/test/Nil/run_test.rb +10 -11
- data/test/Nil/test.rb +22 -20
- data/test/OBV/AbstractInterface/client.rb +14 -15
- data/test/OBV/AbstractInterface/run_test.rb +11 -12
- data/test/OBV/AbstractInterface/server.rb +20 -20
- data/test/OBV/AbstractInterface/test.idl +0 -1
- data/test/OBV/Custom/OBV_impl.rb +2 -1
- data/test/OBV/Custom/client.rb +14 -15
- data/test/OBV/Custom/run_test.rb +11 -12
- data/test/OBV/Custom/server.rb +16 -17
- data/test/OBV/Simple/OBV_impl.rb +1 -1
- data/test/OBV/Simple/client.rb +14 -15
- data/test/OBV/Simple/run_test.rb +11 -12
- data/test/OBV/Simple/server.rb +16 -17
- data/test/OBV/Simple_Event/Event_impl.rb +1 -1
- data/test/OBV/Simple_Event/client.rb +14 -15
- data/test/OBV/Simple_Event/run_test.rb +11 -12
- data/test/OBV/Simple_Event/server.rb +16 -17
- data/test/OBV/Supports/client.rb +19 -20
- data/test/OBV/Supports/run_test.rb +11 -12
- data/test/OBV/Supports/server.rb +15 -16
- data/test/OBV/Supports/supports.idl +0 -1
- data/test/OBV/Supports/supports_impl.rb +3 -1
- data/test/OBV/Tree/client.rb +14 -15
- data/test/OBV/Tree/run_test.rb +11 -12
- data/test/OBV/Tree/server.rb +19 -20
- data/test/OBV/Tree/test.idl +0 -1
- data/test/OBV/Truncatable/Extra.idl +0 -1
- data/test/OBV/Truncatable/Truncatable_impl.rb +1 -2
- data/test/OBV/Truncatable/client.rb +57 -58
- data/test/OBV/Truncatable/run_test.rb +11 -12
- data/test/OBV/Truncatable/server.rb +15 -16
- data/test/OBV/ValueBox/client.rb +154 -154
- data/test/OBV/ValueBox/run_test.rb +11 -12
- data/test/OBV/ValueBox/server.rb +42 -42
- data/test/Object/Test.idl +0 -1
- data/test/Object/client.rb +15 -16
- data/test/Object/run_test.rb +11 -12
- data/test/Object/server.rb +19 -20
- data/test/POA/run_test.rb +10 -11
- data/test/POA/test.rb +17 -18
- data/test/Param_Test/client.rb +53 -54
- data/test/Param_Test/run_test.rb +11 -12
- data/test/Param_Test/server.rb +60 -61
- data/test/Performance/Simple/Test.idl +0 -1
- data/test/Performance/Simple/client.rb +16 -17
- data/test/Performance/Simple/run_test.rb +11 -12
- data/test/Performance/Simple/server.rb +16 -17
- data/test/Policies/Test.idl +0 -1
- data/test/Policies/run_test.rb +10 -11
- data/test/Policies/test.rb +23 -25
- data/test/Timeout/client.rb +21 -22
- data/test/Timeout/run_test.rb +11 -12
- data/test/Timeout/server.rb +19 -20
- data/test/Timeout/test.idl +0 -1
- data/test/lib/assert.rb +0 -2
- data/test/lib/test.rb +29 -25
- data/test/test_runner.rb +22 -24
- metadata +24 -52
- data/README +0 -62
- data/test/BiDirectional/server.ior +0 -1
- data/test/CORBA_Services/Naming/BindingIterator/ins.ior +0 -1
- data/test/CORBA_Services/Naming/Corbaname/corbaname.ior +0 -1
- data/test/CORBA_Services/Naming/Corbaname/ins.ior +0 -1
- data/test/CORBA_Services/Naming/Simple/ins.ior +0 -1
- data/test/DII/server.ior +0 -1
- data/test/DSI/server.ior +0 -1
- data/test/Exceptions/server.ior +0 -1
- data/test/IDL_Test/server.ior +0 -1
- data/test/IORMap/server.ior +0 -1
- data/test/IORTable/server.ior +0 -1
- data/test/Implicit_Conversion/server.ior +0 -1
- data/test/Multi_Threading/Multiple_ORB/server0.ior +0 -1
- data/test/Multi_Threading/Multiple_ORB/server1.ior +0 -1
- data/test/Multi_Threading/Simple/server.ior +0 -1
- data/test/Multi_Threading/Threads/server.ior +0 -1
- data/test/Multi_Threading/Threads/watchdog.ior +0 -1
- data/test/Multiple_Servant_Interfaces/server.ior +0 -1
- data/test/OBV/AbstractInterface/server.ior +0 -1
- data/test/OBV/Custom/server.ior +0 -1
- data/test/OBV/Simple/server.ior +0 -1
- data/test/OBV/Simple_Event/server.ior +0 -1
- data/test/OBV/Supports/server.ior +0 -1
- data/test/OBV/Tree/server.ior +0 -1
- data/test/OBV/Truncatable/server.ior +0 -1
- data/test/OBV/ValueBox/server.ior +0 -1
- data/test/Object/server.ior +0 -1
- data/test/Param_Test/server.ior +0 -1
- data/test/Performance/Simple/server.ior +0 -1
- data/test/Timeout/server.ior +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 878b6f3005a2e35050a64e92d05b3ed0dfd634b5b360b6d75c9eb73e78c92684
|
4
|
+
data.tar.gz: 295dc5534295845c606271daeef53558be7648ce4073de4de7c7bd83c194037e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d3005b067ddb4a695db5b37a1af259b31f475405f55c4f197f835c50e8d55810ce4dad113dd1f9b2ed5304f962448b00f1ed8dd14e33bc0dd26d23ec9b4300d2
|
7
|
+
data.tar.gz: 7688220fa0e5832624071730aaeb80f4e74aead03fda2e51c6d0a240b7587318b35d07864e1cdc87f098fcc1663251b572b383eee1557ac4863042fd393d8ac5
|
data/LICENSE
CHANGED
@@ -8,12 +8,12 @@ written in Ruby, C++ and Java. It is designed to provide a CORBA mapping for
|
|
8
8
|
the Ruby programming language.
|
9
9
|
Instead of going for a complete native Ruby mapping implementing a native
|
10
10
|
Ruby ORB, R2CORBA aims at providing CORBA functionality through a Ruby
|
11
|
-
extension using the DII and DSI interfaces of an existing CORBA ORB
|
11
|
+
extension using the DII and DSI interfaces of an existing CORBA ORB
|
12
12
|
implementation.
|
13
13
|
There are currently two flavors of this extension available:
|
14
|
-
o an MRI Ruby extension written in Ruby and C/C++ using TAO
|
15
|
-
(The ACE ORB; see http://www.
|
16
|
-
o a JRuby extension written in Ruby and Java using JacORB
|
14
|
+
o an MRI Ruby extension written in Ruby and C/C++ using TAO
|
15
|
+
(The ACE ORB; see http://www.dre.vanderbilt.edu/~schmidt/TAO.html).
|
16
|
+
o a JRuby extension written in Ruby and Java using JacORB
|
17
17
|
(http://www.jacorb.org/index.html).
|
18
18
|
A native Ruby implementation of an OMG IDL compiler supplements this
|
19
19
|
extension and provides powerful features like direct inclusion of IDL
|
@@ -56,4 +56,4 @@ IN NO EVENT WILL REMEDY IT OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE
|
|
56
56
|
FOR ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL
|
57
57
|
DAMAGES, EVEN IF REMEDY IT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
58
58
|
|
59
|
-
R2CORBA is Copyright Remedy IT.
|
59
|
+
R2CORBA is Copyright Remedy IT. Duiven, The Netherlands, 2006-2019.
|
data/README.rdoc
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
{<img src="https://badge.fury.io/rb/r2corba.svg" alt="Gem Version" />}[https://rubygems.org/gems/r2corba]
|
2
|
+
{<img src="https://www.codefactor.io/repository/github/remedyit/r2corba/badge" alt="CodeFactor" />}[https://www.codefactor.io/repository/github/remedyit/r2corba]
|
3
|
+
{<img src="https://github.com/RemedyIT/r2corba/workflows/linux/badge.svg" alt="Linux CI" />}[https://github.com/RemedyIT/r2corba/actions?query=workflow%3Alinux]
|
4
|
+
{<img src="https://github.com/RemedyIT/r2corba/workflows/windows/badge.svg" alt="Windows CI" />}[https://github.com/RemedyIT/r2corba/actions?query=workflow%3Awindows]
|
5
|
+
|
6
|
+
= R2CORBA
|
7
|
+
|
8
|
+
== Description
|
9
|
+
|
10
|
+
R2CORBA (Ruby2CORBA) is a {CORBA}[https://www.omg.org/spec/CORBA] language mapping implementation for the {Ruby programming language}[https://www.ruby-lang.org].
|
11
|
+
|
12
|
+
== Synopsis
|
13
|
+
|
14
|
+
R2CORBA provides a complete implementation of the standard OMG Ruby CORBA Language Mapping ({RCLM}[https://www.omg.org/spec/RCLM]) compliant with the latest version of the CORBA standard.
|
15
|
+
|
16
|
+
R2CORBA includes:
|
17
|
+
|
18
|
+
* an RCLM compliant RIDL code generator backend
|
19
|
+
* an RCLM compliant API
|
20
|
+
* multiple ORB implementations through an extension framework
|
21
|
+
|
22
|
+
Instead of going for a complete native Ruby mapping implementing a native Ruby ORB, R2CORBA aims at providing CORBA functionality through a Ruby extension using the DII and DSI interfaces of an existing CORBA ORB implementation. There are currently two flavors of this extension available:
|
23
|
+
|
24
|
+
* an MRI Ruby extension written in Ruby and C/C++ using {TAO}[https://www.remedy.nl/opensource/tao.html]
|
25
|
+
* a JRuby extension written in Ruby and Java using {JacORB}[https://www.remedy.nl/opensource/jacorb.html]
|
26
|
+
|
27
|
+
The {RIDL}[https://www.remedy.nl/opensource/ridl.html] based, native Ruby implementation of an OMG \IDL compiler supplements this extension and provides powerful features like direct inclusion of \IDL language modules into your Ruby programs without the need of explicit, separate stub generation.
|
28
|
+
|
29
|
+
== How to get R2CORBA
|
30
|
+
|
31
|
+
Execute
|
32
|
+
|
33
|
+
gem install r2corba
|
34
|
+
|
35
|
+
to install R2CORBA as a gem.
|
36
|
+
|
37
|
+
== Bugs
|
38
|
+
|
39
|
+
If you find a bug, please report it at the R2CORBA project's {issue tracker}[https://github.com/RemedyIT/r2corba/issues].
|
40
|
+
|
41
|
+
== License
|
42
|
+
|
43
|
+
R2CORBA is Copyright (c) 2007-2022 Remedy IT Expertise BV, The Netherlands.
|
44
|
+
|
45
|
+
It is free software, and may be redistributed under the terms specified in the link:LICENSE file.
|
46
|
+
|
47
|
+
== Acknowledgments
|
48
|
+
|
49
|
+
See the link:THANKS file.
|
50
|
+
|
51
|
+
== Warranty
|
52
|
+
|
53
|
+
This software is provided "as is" and without any express or implied warranties, including, without limitation, the implied warranties of merchantibility and fitness for a particular purpose.
|
54
|
+
|
55
|
+
== Releasing new r2corba gems
|
56
|
+
|
57
|
+
A new r2corba ruby gem release can be made by incrementing the R2CORBA version in link:lib/corba/common/version.rb and create a new release on {github}[https://github.com/RemedyIT/r2corba/releases] matching the new version (for example v1.6.0). The github {Ruby Gem Release}[https://github.com/RemedyIT/r2corba/actions?query=workflow%3A%22Ruby+Gem+Release%22] action will automatically create a new {r2corba}[https://www.rubygems.org/gems/r2corba] and {taosource}[https://www.rubygems.org/gems/taosource] gem and push these to Rubygems.org.
|
58
|
+
|
59
|
+
A new R2CORBA taosource gem can be created by executing
|
60
|
+
|
61
|
+
rake r2corba:gem:taogem
|
62
|
+
|
data/THANKS
CHANGED
@@ -15,7 +15,7 @@ Our thanks go to:
|
|
15
15
|
OS abstraction and multiplatform compatibility of this software
|
16
16
|
make it an ideal ingredient for a Ruby CORBA implementation.
|
17
17
|
|
18
|
-
* The people of the JacORB development team (a.o. Gerald Brose and
|
18
|
+
* The people of the JacORB development team (a.o. Gerald Brose and
|
19
19
|
Andre Spiegel) and all their collaborators for creating a high-
|
20
20
|
performance, multi threaded and spec compliant ORB for the
|
21
21
|
Java environment.
|
@@ -26,7 +26,7 @@ Our thanks go to:
|
|
26
26
|
2001 (incl. RINN and Ruby-Orbit) which has helped us in many ways
|
27
27
|
to create R2CORBA.
|
28
28
|
|
29
|
-
* Paul Brannan of Automated Trading Desk, LLC for his
|
29
|
+
* Paul Brannan of Automated Trading Desk, LLC for his insightful
|
30
30
|
comments on the first release of the Ruby CORBA language mapping.
|
31
31
|
|
32
32
|
* Renato Lucindo and Eider Oliveira for their remarks and fixes for
|
@@ -36,7 +36,7 @@ Our thanks go to:
|
|
36
36
|
|
37
37
|
* William Otte for his patches for the Mac OSX port.
|
38
38
|
|
39
|
-
* David MacMahon for his comments and tests, especially with regard to
|
39
|
+
* David MacMahon for his comments and tests, especially with regard to
|
40
40
|
omniORBpy interoperability.
|
41
41
|
|
42
42
|
* David MacMahon for his Multi_Threading/Threads test.
|
@@ -46,7 +46,7 @@ Our thanks go to:
|
|
46
46
|
|
47
47
|
* Karsten Richter for reporting a bug in union implicit default
|
48
48
|
handling and providing a partial patch and regression test.
|
49
|
-
|
49
|
+
|
50
50
|
* Grant Birchmeier for reporting the RIDL logger bug (triggered
|
51
51
|
by an unknown pragma)
|
52
52
|
|
data/lib/corba/cbase/IORMap.rb
CHANGED
data/lib/corba/cbase/ORB.rb
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#--------------------------------------------------------------------
|
13
12
|
require 'monitor'
|
14
13
|
|
@@ -42,12 +41,12 @@ module R2CORBA
|
|
42
41
|
prop = nil
|
43
42
|
a1, a2, a3 = args
|
44
43
|
if Array === a1
|
45
|
-
raise ArgumentError, "Incorrect nr. of arguments; #{args.size}" if args.size>3
|
44
|
+
raise ArgumentError, "Incorrect nr. of arguments; #{args.size}" if args.size > 3
|
46
45
|
argv = a1
|
47
46
|
orb_id = (Hash === a2 ? nil : a2)
|
48
47
|
prop = (Hash === a2 ? a2 : a3)
|
49
48
|
elsif args.size == 1 || Hash === a2
|
50
|
-
raise ArgumentError, "Incorrect nr. of arguments; #{args.size}" if args.size>2
|
49
|
+
raise ArgumentError, "Incorrect nr. of arguments; #{args.size}" if args.size > 2
|
51
50
|
orb_id = a1
|
52
51
|
prop = a2
|
53
52
|
else
|
@@ -55,7 +54,7 @@ module R2CORBA
|
|
55
54
|
end
|
56
55
|
raise ArgumentError, "Invalid argument #{prop.class}; expected Hash" unless prop.nil? || Hash === prop
|
57
56
|
unless prop.nil?()
|
58
|
-
prop.inject(argv) {|a,(k,v)| a << k; a << v; a}
|
57
|
+
prop.inject(argv) {|a, (k, v)| a << k; a << v; a}
|
59
58
|
end
|
60
59
|
@@cached_orb = CORBA::Native::ORB.init(argv.collect {|a| a.to_s }.concat(@@_default_args), orb_id.nil?() ? nil : orb_id.to_s)
|
61
60
|
end
|
@@ -99,11 +98,11 @@ module R2CORBA
|
|
99
98
|
else
|
100
99
|
@running ||= true
|
101
100
|
raise CORBA::BAD_INV_ORDER.new('ORB has been shutdown', 0, CORBA::COMPLETED_NO) if @shutdown
|
102
|
-
while (timeout.nil? or timeout>0) and !@shutdown
|
101
|
+
while (timeout.nil? or timeout > 0) and !@shutdown
|
103
102
|
to = timeout || 0.05
|
104
103
|
f, to = self.work_pending(to)
|
105
104
|
timeout = to unless timeout.nil?
|
106
|
-
if f and !@shutdown and (timeout.nil? or timeout>0)
|
105
|
+
if f and !@shutdown and (timeout.nil? or timeout > 0)
|
107
106
|
to = timeout || 0.05
|
108
107
|
to = self.perform_work(to)
|
109
108
|
timeout = to unless timeout.nil?
|
@@ -145,17 +144,20 @@ module R2CORBA
|
|
145
144
|
@q_ = []
|
146
145
|
super
|
147
146
|
end
|
147
|
+
|
148
148
|
def push(vfklass)
|
149
149
|
synchronize do
|
150
150
|
@q_ << vfklass
|
151
151
|
end
|
152
152
|
end
|
153
|
+
|
153
154
|
def process_all(&block)
|
154
155
|
synchronize do
|
155
156
|
@q_.each { |vf| block.call(vf) }
|
156
157
|
@q_.clear
|
157
158
|
end
|
158
159
|
end
|
160
|
+
|
159
161
|
def empty?()
|
160
162
|
f = false
|
161
163
|
synchronize do
|
@@ -187,22 +189,22 @@ module R2CORBA
|
|
187
189
|
private
|
188
190
|
@@sigreg = {}
|
189
191
|
def CORBA.signal_numbers
|
190
|
-
(
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
192
|
+
([1, # HUP
|
193
|
+
2, # INT
|
194
|
+
3, # QUIT
|
195
|
+
5, # TRAP
|
196
|
+
6, # ABRT
|
197
|
+
10, # USR1
|
198
|
+
12, # USR2
|
199
|
+
13, # SIGPIPE
|
200
|
+
14, # ALRM
|
201
|
+
15, # TERM
|
202
|
+
17, # CHLD
|
203
|
+
18, # CONT
|
204
|
+
23, # URG
|
205
|
+
30, # PWR
|
206
|
+
31 # SYS
|
207
|
+
]) & Signal.list.values
|
206
208
|
end
|
207
209
|
|
208
210
|
def CORBA.handled_signals
|
@@ -211,7 +213,7 @@ module R2CORBA
|
|
211
213
|
sigcmd = Signal.trap(signum, 'DEFAULT')
|
212
214
|
Signal.trap(signum, sigcmd)
|
213
215
|
@@sigreg[signum] = sigcmd
|
214
|
-
if sigcmd.respond_to?(:call) or ['IGNORE','SIG_IGN','EXIT'].include?(sigcmd.to_s)
|
216
|
+
if sigcmd.respond_to?(:call) or ['IGNORE', 'SIG_IGN', 'EXIT'].include?(sigcmd.to_s)
|
215
217
|
signum
|
216
218
|
else
|
217
219
|
nil
|
@@ -223,7 +225,7 @@ module R2CORBA
|
|
223
225
|
def CORBA.handle_signal(signum)
|
224
226
|
if @@sigreg.has_key?(signum)
|
225
227
|
if @@sigreg[signum].respond_to?(:call)
|
226
|
-
if @@sigreg[signum].respond_to?(:parameters) && @@sigreg[signum].parameters.size>0
|
228
|
+
if @@sigreg[signum].respond_to?(:parameters) && @@sigreg[signum].parameters.size > 0
|
227
229
|
@@sigreg[signum].call(signum)
|
228
230
|
else
|
229
231
|
@@sigreg[signum].call
|
data/lib/corba/cbase/Request.rb
CHANGED
@@ -8,24 +8,23 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#--------------------------------------------------------------------
|
13
12
|
module R2CORBA
|
14
13
|
module CORBA
|
15
14
|
|
16
15
|
module Request
|
17
16
|
|
18
|
-
def add_in_arg(tc, val, nm='')
|
17
|
+
def add_in_arg(tc, val, nm = '')
|
19
18
|
self._arguments << [nm, CORBA::ARG_IN, tc, val]
|
20
19
|
self._arguments.size
|
21
20
|
end
|
22
21
|
|
23
|
-
def add_out_arg(tc, nm='')
|
22
|
+
def add_out_arg(tc, nm = '')
|
24
23
|
self._arguments << [nm, CORBA::ARG_OUT, tc]
|
25
24
|
self._arguments.size
|
26
25
|
end
|
27
26
|
|
28
|
-
def add_inout_arg(tc, val, nm='')
|
27
|
+
def add_inout_arg(tc, val, nm = '')
|
29
28
|
self._arguments << [nm, CORBA::ARG_INOUT, tc, val]
|
30
29
|
self._arguments.size
|
31
30
|
end
|
@@ -131,4 +130,4 @@ module R2CORBA
|
|
131
130
|
end
|
132
131
|
|
133
132
|
end # CORBA
|
134
|
-
end # R2CORBA
|
133
|
+
end # R2CORBA
|
data/lib/corba/cbase/Streams.rb
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#--------------------------------------------------------------------
|
13
12
|
|
14
13
|
module R2CORBA
|
@@ -43,7 +42,7 @@ module R2CORBA
|
|
43
42
|
when TK_DOUBLE
|
44
43
|
read_double()
|
45
44
|
when TK_LONGDOUBLE
|
46
|
-
raise CORBA::NO_IMPLEMENT.new('LongDouble not supported',0,CORBA::COMPLETED_NO)
|
45
|
+
raise CORBA::NO_IMPLEMENT.new('LongDouble not supported', 0, CORBA::COMPLETED_NO)
|
47
46
|
when TK_FIXED
|
48
47
|
read_fixed()
|
49
48
|
when TK_CHAR
|
@@ -99,7 +98,7 @@ module R2CORBA
|
|
99
98
|
when TK_DOUBLE
|
100
99
|
write_double(value)
|
101
100
|
when TK_LONGDOUBLE
|
102
|
-
raise CORBA::NO_IMPLEMENT.new('LongDouble not supported',0,CORBA::COMPLETED_NO)
|
101
|
+
raise CORBA::NO_IMPLEMENT.new('LongDouble not supported', 0, CORBA::COMPLETED_NO)
|
103
102
|
when TK_FIXED
|
104
103
|
write_fixed(value)
|
105
104
|
when TK_CHAR
|
data/lib/corba/cbase/Stub.rb
CHANGED
data/lib/corba/cbase/Typecode.rb
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#--------------------------------------------------------------------
|
13
12
|
|
14
13
|
module R2CORBA
|
@@ -119,7 +118,7 @@ module R2CORBA
|
|
119
118
|
content_tc = args.shift
|
120
119
|
length = args
|
121
120
|
raise ArgumentError, 'expected CORBA::TypeCode' unless content_tc.is_a?(CORBA::TypeCode)
|
122
|
-
if length.size>1
|
121
|
+
if length.size > 1
|
123
122
|
this_len = length.shift
|
124
123
|
content_tc = self.class.new(content_tc, *length)
|
125
124
|
else
|
@@ -197,7 +196,7 @@ module R2CORBA
|
|
197
196
|
|
198
197
|
protected
|
199
198
|
|
200
|
-
def _create_tc(id,name,modifier,base,members)
|
199
|
+
def _create_tc(id, name, modifier, base, members)
|
201
200
|
begin
|
202
201
|
CORBA::Native::TypeCode.create_tc(TK_VALUE, id.to_s, name.to_s,
|
203
202
|
CORBA::VT_MODIFIERS[modifier],
|
@@ -214,7 +213,7 @@ module R2CORBA
|
|
214
213
|
|
215
214
|
protected
|
216
215
|
|
217
|
-
def _create_tc(id,name,modifier,base,members)
|
216
|
+
def _create_tc(id, name, modifier, base, members)
|
218
217
|
begin
|
219
218
|
CORBA::Native::TypeCode.create_tc(TK_EVENT, id.to_s, name.to_s,
|
220
219
|
CORBA::VT_MODIFIERS[modifier],
|
@@ -322,7 +321,7 @@ module R2CORBA
|
|
322
321
|
|
323
322
|
protected
|
324
323
|
|
325
|
-
def _create_tc(id,name,members)
|
324
|
+
def _create_tc(id, name, members)
|
326
325
|
begin
|
327
326
|
CORBA::Native::TypeCode.create_tc(TK_STRUCT, id.to_s, name.to_s, members)
|
328
327
|
rescue ::NativeException
|
@@ -336,7 +335,7 @@ module R2CORBA
|
|
336
335
|
|
337
336
|
protected
|
338
337
|
|
339
|
-
def _create_tc(id,name,members)
|
338
|
+
def _create_tc(id, name, members)
|
340
339
|
begin
|
341
340
|
CORBA::Native::TypeCode.create_tc(TK_EXCEPT, id.to_s, name.to_s, members)
|
342
341
|
rescue ::NativeException
|
@@ -357,7 +356,7 @@ module R2CORBA
|
|
357
356
|
@members = []
|
358
357
|
def_inx = @tc_.default_index
|
359
358
|
@tc_.member_count.times do |i|
|
360
|
-
if def_inx < 0
|
359
|
+
if def_inx < 0 || def_inx != i
|
361
360
|
ml_ = @tc_.member_label(i)
|
362
361
|
else
|
363
362
|
ml_ = :default
|
data/lib/corba/cbase/Values.rb
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#--------------------------------------------------------------------
|
13
12
|
|
14
13
|
module R2CORBA
|
@@ -22,6 +21,7 @@ module R2CORBA
|
|
22
21
|
end
|
23
22
|
end
|
24
23
|
end
|
24
|
+
|
25
25
|
module ValueBase
|
26
26
|
def self.included(mod)
|
27
27
|
mod.module_eval do
|
@@ -31,10 +31,10 @@ module R2CORBA
|
|
31
31
|
def kind_of?(mod)
|
32
32
|
if mod < CORBA::AbstractValueBase && mod.const_defined?(:Intf)
|
33
33
|
org_kind_of?(mod::Intf)
|
34
|
-
#super(mod::Intf) ## problematic with Ruby 1.9.2 (known bug)
|
34
|
+
# super(mod::Intf) ## problematic with Ruby 1.9.2 (known bug)
|
35
35
|
else
|
36
36
|
org_kind_of?(mod)
|
37
|
-
#super ## problematic with Ruby 1.9.2 (known bug)
|
37
|
+
# super ## problematic with Ruby 1.9.2 (known bug)
|
38
38
|
end
|
39
39
|
end
|
40
40
|
alias :is_a? :kind_of?
|
@@ -98,6 +98,7 @@ module R2CORBA
|
|
98
98
|
class FactoryBase < CORBA::Portable::ValueFactoryBase
|
99
99
|
## generic factory base
|
100
100
|
end
|
101
|
+
|
101
102
|
def self.included(mod)
|
102
103
|
mod.module_eval do
|
103
104
|
include CORBA::ValueBase unless self.include?(CORBA::ValueBase)
|
@@ -8,7 +8,6 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#--------------------------------------------------------------------
|
13
12
|
|
14
13
|
# import all java CORBA exceptions into the R2CORBA::CORBA namespace
|
@@ -40,13 +39,14 @@ module R2CORBA
|
|
40
39
|
exklass = CORBA.const_defined?(exklass) ? CORBA.const_get(exklass) : nil
|
41
40
|
if exklass.nil? || !(CORBA::SystemException > exklass)
|
42
41
|
Kernel.raise InternalError,
|
43
|
-
|
44
|
-
id.to_s+' ['+reason.to_s+']'
|
42
|
+
'Unknown SystemException raised: ' +
|
43
|
+
id.to_s + ' [' + reason.to_s + ']'
|
45
44
|
else
|
46
|
-
Kernel.raise exklass.new(reason,minor,completed)
|
45
|
+
Kernel.raise exklass.new(reason, minor, completed)
|
47
46
|
end
|
48
47
|
end
|
49
|
-
|
48
|
+
|
49
|
+
def initialize(reason = '', minor = 0, completed = nil)
|
50
50
|
super(reason)
|
51
51
|
@minor = minor
|
52
52
|
@completed = completed
|
@@ -54,6 +54,7 @@ module R2CORBA
|
|
54
54
|
end
|
55
55
|
attr_accessor :ids
|
56
56
|
def _ids; @ids; end
|
57
|
+
|
57
58
|
def _interface_repository_id
|
58
59
|
self.class::Id
|
59
60
|
end
|
data/lib/corba/cbase/poa.rb
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#--------------------------------------------------------------------
|
13
12
|
|
14
13
|
require 'corba/common/Servant.rb'
|
@@ -16,7 +15,7 @@ require 'corba/idl/POAC.rb'
|
|
16
15
|
require 'corba/idl/IORTableC'
|
17
16
|
|
18
17
|
begin
|
19
|
-
require
|
18
|
+
require 'librpoa'
|
20
19
|
rescue LoadError
|
21
20
|
$stderr.puts $!.to_s if $VERBOSE
|
22
21
|
raise
|
data/lib/corba/cbase/policies.rb
CHANGED
@@ -8,12 +8,11 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#--------------------------------------------------------------------
|
13
12
|
require 'corba/idl/TAO_ExtC'
|
14
13
|
|
15
14
|
begin
|
16
|
-
require
|
15
|
+
require 'librpol'
|
17
16
|
rescue LoadError
|
18
17
|
$stderr.puts $!.to_s if $VERBOSE
|
19
18
|
raise
|
@@ -25,7 +24,7 @@ module R2CORBA
|
|
25
24
|
|
26
25
|
module ORB
|
27
26
|
def create_policy(type, val)
|
28
|
-
raise CORBA::BAD_PARAM.new('Any expected',0,CORBA::COMPLETED_NO) unless CORBA::Any === val
|
27
|
+
raise CORBA::BAD_PARAM.new('Any expected', 0, CORBA::COMPLETED_NO) unless CORBA::Any === val
|
29
28
|
begin
|
30
29
|
self.orb_.create_policy(type.to_i, val)
|
31
30
|
rescue ::NativeException
|
@@ -75,4 +74,4 @@ module R2CORBA
|
|
75
74
|
|
76
75
|
end # CORBA
|
77
76
|
|
78
|
-
end # R2CORBA
|
77
|
+
end # R2CORBA
|
@@ -8,7 +8,6 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#--------------------------------------------------------------------
|
13
12
|
|
14
|
-
require 'corba/cbase/IORMap'
|
13
|
+
require 'corba/cbase/IORMap'
|
data/lib/corba/cbase/require.rb
CHANGED
@@ -8,11 +8,19 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#--------------------------------------------------------------------
|
13
12
|
|
14
13
|
begin
|
15
|
-
|
14
|
+
_ext_dir = File.expand_path(File.join(File.dirname(__FILE__), '../../../ext'))
|
15
|
+
$: << _ext_dir unless $:.include?(_ext_dir) || !File.directory?(_ext_dir)
|
16
|
+
if RUBY_PLATFORM =~ /mingw/
|
17
|
+
require 'ruby_installer/runtime'
|
18
|
+
RubyInstaller::Runtime.add_dll_directory(_ext_dir)
|
19
|
+
ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
|
20
|
+
RubyInstaller::Runtime.add_dll_directory(path) if File.exist?(File.join(path, 'libACE.dll'))
|
21
|
+
end
|
22
|
+
end
|
23
|
+
require 'libr2tao'
|
16
24
|
rescue LoadError
|
17
25
|
$stderr.puts $!.to_s if $VERBOSE
|
18
26
|
raise
|
data/lib/corba/cmds/base.rb
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#--------------------------------------------------------------------
|
13
12
|
|
14
13
|
require 'optparse'
|
@@ -49,7 +48,7 @@ module R2CORBA
|
|
49
48
|
def self.parse_args(args)
|
50
49
|
opts = OptionParser.new
|
51
50
|
opts.banner = "Usage: r2corba [global options] command [command options]\n\n" +
|
52
|
-
" command\t\tSpecifies R2CORBA command to execute.\n"+
|
51
|
+
" command\t\tSpecifies R2CORBA command to execute.\n" +
|
53
52
|
" \t\tDefault = list :== list commands\n"
|
54
53
|
opts.separator ''
|
55
54
|
opts.on('-v', '--verbose',
|
data/lib/corba/cmds/test.rb
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#--------------------------------------------------------------------
|
13
12
|
|
14
13
|
require File.join(File.dirname(__FILE__), '..', '..', '..', 'test', 'test_runner.rb')
|
data/lib/corba/common/Any.rb
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#--------------------------------------------------------------------
|
13
12
|
module R2CORBA
|
14
13
|
module CORBA
|
@@ -59,13 +58,13 @@ module R2CORBA
|
|
59
58
|
end
|
60
59
|
end
|
61
60
|
|
62
|
-
def Any.to_any(o, tc=nil)
|
61
|
+
def Any.to_any(o, tc = nil)
|
63
62
|
if tc.nil?
|
64
63
|
tc = self.typecode_for_value(o)
|
65
64
|
if tc.is_a?(CORBA::TypeCode)
|
66
65
|
return new(o, tc)
|
67
66
|
end
|
68
|
-
raise CORBA::MARSHAL.new('missing TypeCode',0,CORBA::COMPLETED_NO)
|
67
|
+
raise CORBA::MARSHAL.new('missing TypeCode', 0, CORBA::COMPLETED_NO)
|
69
68
|
end
|
70
69
|
return new(o, tc)
|
71
70
|
end
|
@@ -73,6 +72,7 @@ module R2CORBA
|
|
73
72
|
def _tc
|
74
73
|
@__tc
|
75
74
|
end
|
75
|
+
|
76
76
|
def _value
|
77
77
|
@__value
|
78
78
|
end
|
data/lib/corba/common/IDL.rb
CHANGED
@@ -8,20 +8,16 @@
|
|
8
8
|
# included with this program.
|
9
9
|
#
|
10
10
|
# Copyright (c) Remedy IT Expertise BV
|
11
|
-
# Chamber of commerce Rotterdam nr.276339, The Netherlands
|
12
11
|
#--------------------------------------------------------------------
|
13
12
|
|
14
|
-
# hardwire RIDL to embedded state for Ruby language mapping
|
15
|
-
module IDL
|
16
|
-
@@embedded = true
|
17
|
-
@@be_name = :ruby
|
18
|
-
end
|
19
|
-
|
20
13
|
begin
|
21
14
|
require 'rubygems'
|
22
15
|
rescue LoadError
|
23
16
|
# ignore error, RIDL may be installed locally not as gem
|
24
17
|
end
|
18
|
+
# hardwire R2CORBA :ruby RIDL backend
|
19
|
+
ENV['RIDL_BE_SELECT'] = 'ruby'
|
20
|
+
# load RIDL
|
25
21
|
require 'ridl/ridl'
|
26
22
|
|
27
23
|
module R2CORBA
|
@@ -29,8 +25,8 @@ module R2CORBA
|
|
29
25
|
module CORBA
|
30
26
|
|
31
27
|
module IDL
|
32
|
-
CLIENT_STUB = 1
|
33
|
-
SERVANT_INTF = 2
|
28
|
+
CLIENT_STUB = 1
|
29
|
+
SERVANT_INTF = 2
|
34
30
|
|
35
31
|
@@loaded_idls = {}
|
36
32
|
|
@@ -64,7 +60,7 @@ module R2CORBA
|
|
64
60
|
fname
|
65
61
|
else
|
66
62
|
fp = paths.find do |p|
|
67
|
-
f = p +
|
63
|
+
f = p + '/' + fname
|
68
64
|
File.file?(f) && File.readable?(f)
|
69
65
|
end
|
70
66
|
fp += '/' + fname if !fp.nil?
|