rjb 1.5.7 → 1.5.8
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.
- checksums.yaml +4 -4
- data/ChangeLog +7 -0
- data/ext/rjb.c +1 -1
- data/ext/rjbexception.c +7 -0
- data/test/test.rb +14 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2786fa639546b77fac490cfd59ce4b41d52ecb65a45365f73b4e56676f5fef5f
|
4
|
+
data.tar.gz: 97c3c18969a236cb79ea8eadb885245e7e43b99561c878f25bd5da50e2f3433b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c336cae68daa9e4839313bb9f8136d28cbda6cb2e65b921b9e79452b84268ea0e75110841fdbd3947d09602694f480f4d4140ec433dc39fb07cb77f093daaf12
|
7
|
+
data.tar.gz: 70af9504c3bda50cfca5cae4eb0d30910557557b71e5ededddadc7324e215cc7f1fd301eeb3d46885d19f8cbc241491d332b32df6de4fdfaca5b8903f22982b7
|
data/ChangeLog
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
Thu Jan 17 2019 arton
|
2
|
+
* ext/rjbexception.c
|
3
|
+
restore method_missing for the exception class
|
4
|
+
* ext/rjb.c
|
5
|
+
RJB_VERSION -> 1.5.8
|
6
|
+
* test/test.rb
|
7
|
+
add #60 test
|
1
8
|
Fri Dec 28 2018 arton
|
2
9
|
* ext/rjbexception.c
|
3
10
|
fix #60; stable java derived exception class for raise
|
data/ext/rjb.c
CHANGED
data/ext/rjbexception.c
CHANGED
@@ -26,6 +26,12 @@
|
|
26
26
|
#include "riconv.h"
|
27
27
|
#include "rjb.h"
|
28
28
|
|
29
|
+
static VALUE missing_delegate(int argc, VALUE* argv, VALUE self)
|
30
|
+
{
|
31
|
+
ID rmid = rb_to_id(argv[0]);
|
32
|
+
return rb_funcall(rb_ivar_get(self, rb_intern("@cause")), rmid, argc - 1, argv + 1);
|
33
|
+
}
|
34
|
+
|
29
35
|
static VALUE get_cause(VALUE self)
|
30
36
|
{
|
31
37
|
return rb_funcall(rb_ivar_get(self, rb_intern("@cause")), rb_intern("cause"), 0);
|
@@ -60,6 +66,7 @@ VALUE rjb_get_exception_class(JNIEnv* jenv, jstring str)
|
|
60
66
|
{
|
61
67
|
rexp = rb_define_class(pcls, rb_eStandardError);
|
62
68
|
rb_define_method(rexp, "cause", get_cause, 0);
|
69
|
+
rb_define_method(rexp, "method_missing", missing_delegate, -1);
|
63
70
|
#if defined(HAVE_RB_HASH_ASET) || defined(RUBINIUS)
|
64
71
|
rb_hash_aset(rjb_loaded_classes, cname, rexp);
|
65
72
|
#else
|
data/test/test.rb
CHANGED
@@ -933,5 +933,19 @@ class TestRjb < Test::Unit::TestCase
|
|
933
933
|
assert_equal org.size, len
|
934
934
|
assert_equal org, buffer[0...len]
|
935
935
|
end
|
936
|
+
|
937
|
+
def test_re_raise
|
938
|
+
begin
|
939
|
+
@jInteger.parseInt('blabla')
|
940
|
+
flunk('no exception')
|
941
|
+
rescue NumberFormatException => e
|
942
|
+
begin
|
943
|
+
raise
|
944
|
+
rescue => e
|
945
|
+
assert_equal(NumberFormatException, e.class)
|
946
|
+
# OK
|
947
|
+
end
|
948
|
+
end
|
949
|
+
end
|
936
950
|
end
|
937
951
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rjb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- arton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: 'RJB is a bridge program that connect between Ruby and Java with Java
|
14
14
|
Native Interface.
|