glib2 3.3.7 → 3.3.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/README.md +11 -26
- data/ext/glib2/rbglib-bytes.c +30 -7
- data/ext/glib2/rbglib.c +22 -17
- data/ext/glib2/rbglib.h +1 -1
- data/ext/glib2/rbglib_convert.c +9 -3
- data/ext/glib2/rbgobj_enums.c +57 -79
- data/ext/glib2/rbgobj_type.c +59 -2
- data/ext/glib2/rbgprivate.h +2 -1
- data/glib2.gemspec +2 -2
- data/lib/glib-mkenums.rb +4 -1
- data/lib/glib2.rb +36 -9
- data/test/test-bytes.rb +22 -1
- data/test/test-enum.rb +35 -4
- data/test/test-flags.rb +40 -4
- data/test/test-glib2.rb +21 -21
- data/test/test-type.rb +51 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2bd17bde266ff29b1445dd41b0a33549472b10082d3a33dd566e90200ee16ca1
|
4
|
+
data.tar.gz: f8ff9860d9fbe9a600546aaf66332022537f8ad5376712a6bdabc46b92903984
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b47ecb4c251f0d6d573a25177c313c221563961ef55d89130a67ed1aabad171ec90147434c1c7aee708a448c2df43fd7704af2e95d6d82a48ad7f6b11e1163ed
|
7
|
+
data.tar.gz: 83491d543291507cfe2bb44a41689866dc1ae35d987f3fd3b4a8d02f3be33b81e8f2ccfd51a28d124c23dc7c7667848ec1bf5dc2374022ede9eec91256acbca5
|
data/README.md
CHANGED
@@ -4,39 +4,24 @@ Ruby/GLib2 is a Ruby binding of GLib-2.12.x.
|
|
4
4
|
|
5
5
|
## Requirements
|
6
6
|
|
7
|
-
Ruby >= 1.9.x:
|
8
|
-
pkg-config.rb:
|
9
|
-
GLib >= 2.12.x:
|
7
|
+
* Ruby >= 1.9.x: https://www.ruby-lang.org/
|
8
|
+
* pkg-config.rb: https://github.com/rcairo/pkg-config
|
9
|
+
* GLib >= 2.12.x: https://www.gtk.org/
|
10
10
|
|
11
|
-
## Install
|
11
|
+
## Install
|
12
12
|
|
13
|
-
```
|
14
|
-
|
15
|
-
```
|
16
|
-
Windows:
|
17
|
-
|
18
|
-
```
|
19
|
-
> gem install glib2 --platform x86-mingw32
|
20
|
-
```
|
21
|
-
|
22
|
-
## Install (traditional)
|
23
|
-
|
24
|
-
Install ruby-1.9.x or later, pkg-config.rb and GLib-2.12.x.
|
25
|
-
|
26
|
-
```
|
27
|
-
% ruby extconf.rb
|
28
|
-
% make
|
29
|
-
% sudo make install
|
13
|
+
```bash
|
14
|
+
gem install glib2
|
30
15
|
```
|
31
16
|
|
32
17
|
## Copying
|
33
18
|
|
34
|
-
|
19
|
+
Copyright (c) 2002-2019 Ruby-GNOME Project Team
|
35
20
|
|
36
|
-
|
37
|
-
|
38
|
-
|
21
|
+
This program is free software.
|
22
|
+
You can distribute/modify this program under the terms of
|
23
|
+
the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1.
|
39
24
|
|
40
25
|
## Project Website
|
41
26
|
|
42
|
-
|
27
|
+
https://ruby-gnome2.osdn.jp/
|
data/ext/glib2/rbglib-bytes.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2017 Ruby-
|
3
|
+
* Copyright (C) 2017-2019 Ruby-GNOME Project Team
|
4
4
|
*
|
5
5
|
* This library is free software; you can redistribute it and/or
|
6
6
|
* modify it under the terms of the GNU Lesser General Public
|
@@ -27,6 +27,26 @@
|
|
27
27
|
#if GLIB_CHECK_VERSION(2, 32, 0)
|
28
28
|
static VALUE RG_TARGET_NAMESPACE;
|
29
29
|
|
30
|
+
static VALUE
|
31
|
+
rg_s_try_convert(VALUE self, VALUE value)
|
32
|
+
{
|
33
|
+
if (NIL_P(value)) {
|
34
|
+
return value;
|
35
|
+
}
|
36
|
+
|
37
|
+
if (RVAL2CBOOL(rb_obj_is_kind_of(value, self))) {
|
38
|
+
return value;
|
39
|
+
}
|
40
|
+
|
41
|
+
if (RB_TYPE_P(value, RUBY_T_STRING)) {
|
42
|
+
ID id_new;
|
43
|
+
CONST_ID(id_new, "new");
|
44
|
+
return rb_funcall(self, id_new, 1, value);
|
45
|
+
}
|
46
|
+
|
47
|
+
return Qnil;
|
48
|
+
}
|
49
|
+
|
30
50
|
static VALUE
|
31
51
|
rg_initialize(int argc, VALUE *argv, VALUE self)
|
32
52
|
{
|
@@ -37,13 +57,14 @@ rg_initialize(int argc, VALUE *argv, VALUE self)
|
|
37
57
|
if (NIL_P(rb_data)) {
|
38
58
|
bytes = g_bytes_new(NULL, 0);
|
39
59
|
} else {
|
40
|
-
const gchar *data
|
41
|
-
if (RB_OBJ_FROZEN(rb_data)) {
|
42
|
-
|
43
|
-
|
44
|
-
} else {
|
45
|
-
bytes = g_bytes_new(data, RSTRING_LEN(rb_data));
|
60
|
+
const gchar *data;
|
61
|
+
if (!RB_OBJ_FROZEN(rb_data)) {
|
62
|
+
rb_data = rb_str_dup(rb_data);
|
63
|
+
rb_str_freeze(rb_data);
|
46
64
|
}
|
65
|
+
data = RVAL2CSTR_PTR(rb_data);
|
66
|
+
bytes = g_bytes_new_static(data, RSTRING_LEN(rb_data));
|
67
|
+
rb_iv_set(self, "source", rb_data);
|
47
68
|
}
|
48
69
|
G_INITIALIZE(self, bytes);
|
49
70
|
|
@@ -98,6 +119,8 @@ Init_glib_bytes(void)
|
|
98
119
|
#if GLIB_CHECK_VERSION(2, 32, 0)
|
99
120
|
RG_TARGET_NAMESPACE = G_DEF_CLASS(G_TYPE_BYTES, "Bytes", mGLib);
|
100
121
|
|
122
|
+
RG_DEF_SMETHOD(try_convert, 1);
|
123
|
+
|
101
124
|
RG_DEF_METHOD(initialize, -1);
|
102
125
|
RG_DEF_METHOD(to_s, 0);
|
103
126
|
RG_DEF_ALIAS("to_str", "to_s");
|
data/ext/glib2/rbglib.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2011-
|
3
|
+
* Copyright (C) 2011-2019 Ruby-GNOME2 Project Team
|
4
4
|
* Copyright (C) 2002,2003 Masahiro Sakai
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
@@ -220,7 +220,7 @@ rbg_cstr2rval_with_free(gchar *str)
|
|
220
220
|
return rbg_cstr2rval_free(str);
|
221
221
|
}
|
222
222
|
|
223
|
-
|
223
|
+
rb_encoding *rbg_filename_encoding;
|
224
224
|
|
225
225
|
static VALUE
|
226
226
|
rbg_filename_to_ruby_body(VALUE filename)
|
@@ -234,9 +234,9 @@ rbg_filename_to_ruby_body(VALUE filename)
|
|
234
234
|
|
235
235
|
/* if needed, change encoding of Ruby String to filename encoding, so that
|
236
236
|
upcoming File operations will work properly */
|
237
|
-
return
|
238
|
-
|
239
|
-
rb_filename;
|
237
|
+
return rbg_filename_encoding == rb_utf8_encoding() ?
|
238
|
+
rb_filename :
|
239
|
+
rb_str_export_to_enc(rb_filename, rbg_filename_encoding);
|
240
240
|
}
|
241
241
|
|
242
242
|
static VALUE
|
@@ -257,7 +257,7 @@ rbg_filename_to_ruby(const gchar *filename)
|
|
257
257
|
if (filename == NULL)
|
258
258
|
return Qnil;
|
259
259
|
|
260
|
-
if (
|
260
|
+
if (rbg_filename_encoding == rb_utf8_encoding())
|
261
261
|
return CSTR2RVAL(filename);
|
262
262
|
|
263
263
|
filename_utf8 = g_filename_to_utf8(filename, -1, NULL, &written, &error);
|
@@ -278,15 +278,15 @@ rbg_filename_to_ruby_free(gchar *filename)
|
|
278
278
|
return Qnil;
|
279
279
|
|
280
280
|
/* convert filename to UTF-8 if needed */
|
281
|
-
if (
|
281
|
+
if (rbg_filename_encoding == rb_utf8_encoding()) {
|
282
|
+
filename_utf8 = filename;
|
283
|
+
} else {
|
282
284
|
GError *error = NULL;
|
283
285
|
|
284
286
|
filename_utf8 = g_filename_to_utf8(filename, -1, NULL, &written, &error);
|
285
287
|
g_free(filename);
|
286
288
|
if (error != NULL)
|
287
289
|
RAISE_GERROR(error);
|
288
|
-
} else {
|
289
|
-
filename_utf8 = filename;
|
290
290
|
}
|
291
291
|
|
292
292
|
return rb_ensure(rbg_filename_to_ruby_body, (VALUE)filename_utf8,
|
@@ -306,10 +306,14 @@ rbg_filename_from_ruby(VALUE filename)
|
|
306
306
|
filename = rb_str_export_to_enc(filename, rb_utf8_encoding());
|
307
307
|
|
308
308
|
/* convert it to filename encoding if needed */
|
309
|
-
if (
|
310
|
-
return
|
311
|
-
|
312
|
-
retval = g_filename_from_utf8(RSTRING_PTR(filename),
|
309
|
+
if (rbg_filename_encoding == rb_utf8_encoding())
|
310
|
+
return g_strndup(RSTRING_PTR(filename), RSTRING_LEN(filename));
|
311
|
+
|
312
|
+
retval = g_filename_from_utf8(RSTRING_PTR(filename),
|
313
|
+
RSTRING_LEN(filename),
|
314
|
+
NULL,
|
315
|
+
&written,
|
316
|
+
&error);
|
313
317
|
if (error != NULL)
|
314
318
|
RAISE_GERROR(error);
|
315
319
|
|
@@ -1097,12 +1101,13 @@ Init_glib2(void)
|
|
1097
1101
|
|| filename_charsets[0] == NULL
|
1098
1102
|
|| !strcmp(filename_charsets[0], "UTF-8")
|
1099
1103
|
|| rb_enc_find(filename_charsets[0]) == rb_enc_find("ASCII-8BIT")) {
|
1100
|
-
|
1101
|
-
encoding is unknown, UTF-8, or unsupported */
|
1102
|
-
filename_encoding_if_not_utf8 = NULL;
|
1104
|
+
rbg_filename_encoding = rb_utf8_encoding();
|
1103
1105
|
} else {
|
1104
|
-
|
1106
|
+
rbg_filename_encoding = rb_enc_find(filename_charsets[0]);
|
1105
1107
|
}
|
1108
|
+
rb_define_const(RG_TARGET_NAMESPACE,
|
1109
|
+
"FILENAME_ENCODING",
|
1110
|
+
rb_enc_from_encoding(rbg_filename_encoding));
|
1106
1111
|
|
1107
1112
|
/* Don't implement them.
|
1108
1113
|
#define G_DIR_SEPARATOR_S
|
data/ext/glib2/rbglib.h
CHANGED
data/ext/glib2/rbglib_convert.c
CHANGED
@@ -35,12 +35,18 @@ rg_s_convert(G_GNUC_UNUSED VALUE self, VALUE str, VALUE to, VALUE from)
|
|
35
35
|
|
36
36
|
StringValue(str);
|
37
37
|
ret = g_convert(RSTRING_PTR(str), RSTRING_LEN(str),
|
38
|
-
|
38
|
+
StringValueCStr(to), StringValueCStr(from),
|
39
39
|
NULL, &written, &err);
|
40
40
|
|
41
41
|
if (err != NULL)
|
42
42
|
RAISE_GERROR(err);
|
43
|
-
|
43
|
+
{
|
44
|
+
rb_encoding *encoding = rb_enc_find(StringValueCStr(to));
|
45
|
+
if (!encoding) {
|
46
|
+
encoding = rb_ascii8bit_encoding();
|
47
|
+
}
|
48
|
+
s = rb_enc_str_new(ret, written, encoding);
|
49
|
+
}
|
44
50
|
g_free(ret);
|
45
51
|
return s;
|
46
52
|
}
|
@@ -110,7 +116,7 @@ rg_s_filename_from_utf8(G_GNUC_UNUSED VALUE self, VALUE str)
|
|
110
116
|
|
111
117
|
if (err != NULL)
|
112
118
|
RAISE_GERROR(err);
|
113
|
-
s =
|
119
|
+
s = rb_enc_str_new(ret, written, rbg_filename_encoding);
|
114
120
|
g_free(ret);
|
115
121
|
return s;
|
116
122
|
}
|
data/ext/glib2/rbgobj_enums.c
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2011-2019 Ruby-
|
4
|
-
* Copyright (C) 2004-2006 Ruby-
|
3
|
+
* Copyright (C) 2011-2019 Ruby-GNOME Project Team
|
4
|
+
* Copyright (C) 2004-2006 Ruby-GNOME Project Team
|
5
5
|
* Copyright (C) 2002,2003 Masahiro Sakai
|
6
6
|
*
|
7
7
|
* This library is free software; you can redistribute it and/or
|
@@ -27,9 +27,11 @@
|
|
27
27
|
|
28
28
|
VALUE RG_TARGET_NAMESPACE;
|
29
29
|
|
30
|
+
static ID id_find;
|
30
31
|
static ID id_new;
|
31
|
-
static ID id_to_s;
|
32
32
|
static ID id_to_i;
|
33
|
+
static ID id_to_s;
|
34
|
+
static ID id_values;
|
33
35
|
|
34
36
|
/**********************************************************************/
|
35
37
|
|
@@ -55,31 +57,20 @@ nick_to_const_name(const gchar *nick)
|
|
55
57
|
VALUE
|
56
58
|
rg_enum_resolve_value(VALUE klass, VALUE nick)
|
57
59
|
{
|
58
|
-
VALUE value = Qnil;
|
59
|
-
gchar *const_nick;
|
60
|
-
ID const_nick_id;
|
61
|
-
|
62
60
|
if (RVAL2CBOOL(rb_obj_is_kind_of(nick, klass)))
|
63
61
|
return nick;
|
64
|
-
|
65
|
-
nick = rb_funcall(nick, id_to_s, 0);
|
66
|
-
const_nick = nick_to_const_name(RVAL2CSTR(nick));
|
67
|
-
const_nick_id = rb_intern(const_nick);
|
68
|
-
if (rb_const_defined(klass, const_nick_id)) {
|
69
|
-
value = rb_const_get(klass, const_nick_id);
|
70
|
-
}
|
71
|
-
g_free(const_nick);
|
72
|
-
|
73
|
-
return value;
|
62
|
+
return rb_funcall(klass, id_find, 1, nick);
|
74
63
|
}
|
75
64
|
|
76
65
|
void
|
77
66
|
rg_enum_add_constants(VALUE mod, GType enum_type, const gchar *strip_prefix)
|
78
67
|
{
|
68
|
+
VALUE klass;
|
79
69
|
GEnumClass *gclass;
|
80
70
|
guint i;
|
81
71
|
size_t prefix_len = strlen(strip_prefix);
|
82
72
|
|
73
|
+
klass = GTYPE2CLASS(enum_type);
|
83
74
|
gclass = G_ENUM_CLASS(g_type_class_ref(enum_type));
|
84
75
|
|
85
76
|
for (i = 0; i < gclass->n_values; i++) {
|
@@ -90,8 +81,9 @@ rg_enum_add_constants(VALUE mod, GType enum_type, const gchar *strip_prefix)
|
|
90
81
|
value->value_name, strip_prefix);
|
91
82
|
} else {
|
92
83
|
const char* name = value->value_name + prefix_len;
|
93
|
-
rbgobj_define_const(mod,
|
94
|
-
|
84
|
+
rbgobj_define_const(mod,
|
85
|
+
name,
|
86
|
+
rb_funcall(klass, id_find, 1, INT2NUM(value->value)));
|
95
87
|
}
|
96
88
|
}
|
97
89
|
|
@@ -135,16 +127,20 @@ enum_get_holder(VALUE rb_enum)
|
|
135
127
|
return holder;
|
136
128
|
}
|
137
129
|
|
138
|
-
static VALUE
|
139
|
-
make_enum(gint n, VALUE klass)
|
140
|
-
{
|
141
|
-
return rb_funcall(klass, id_new, 1, INT2NUM(n));
|
142
|
-
}
|
143
|
-
|
144
130
|
VALUE
|
145
131
|
rbgobj_make_enum(gint n, GType gtype)
|
146
132
|
{
|
147
|
-
|
133
|
+
VALUE klass = GTYPE2CLASS(gtype);
|
134
|
+
VALUE enum_value;
|
135
|
+
|
136
|
+
enum_value = rb_funcall(klass, id_find, 1, INT2NUM(n));
|
137
|
+
if (NIL_P(enum_value)) {
|
138
|
+
enum_value = rb_funcall(klass,
|
139
|
+
id_new,
|
140
|
+
1,
|
141
|
+
INT2NUM(n));
|
142
|
+
}
|
143
|
+
return enum_value;
|
148
144
|
}
|
149
145
|
|
150
146
|
gint
|
@@ -184,36 +180,25 @@ void
|
|
184
180
|
rbgobj_init_enum_class(VALUE klass)
|
185
181
|
{
|
186
182
|
GEnumClass* gclass = g_type_class_ref(CLASS2GTYPE(klass));
|
183
|
+
VALUE values;
|
187
184
|
guint i;
|
188
185
|
|
186
|
+
values = rb_hash_new();
|
187
|
+
rb_iv_set(klass, "values", values);
|
189
188
|
for (i = 0; i < gclass->n_values; i++) {
|
190
189
|
GEnumValue* entry = &(gclass->values[i]);
|
190
|
+
VALUE rb_raw_enum_value;
|
191
|
+
VALUE value;
|
191
192
|
gchar *const_nick_name;
|
192
193
|
|
194
|
+
rb_raw_enum_value = INT2NUM(entry->value);
|
195
|
+
value = rb_funcall(klass, id_new, 1, rb_raw_enum_value);
|
196
|
+
rb_hash_aset(values, rb_raw_enum_value, value);
|
193
197
|
const_nick_name = nick_to_const_name(entry->value_nick);
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
ID id = rb_intern(const_nick_name);
|
198
|
-
if (rb_is_const_id(id)) {
|
199
|
-
VALUE value;
|
200
|
-
|
201
|
-
value = make_enum(entry->value, klass);
|
202
|
-
rb_define_const(klass, const_nick_name, value);
|
203
|
-
}
|
198
|
+
if (const_nick_name) {
|
199
|
+
rbgobj_define_const(klass, const_nick_name, value);
|
200
|
+
g_free(const_nick_name);
|
204
201
|
}
|
205
|
-
#else
|
206
|
-
{
|
207
|
-
if (const_nick_name) {
|
208
|
-
VALUE value;
|
209
|
-
|
210
|
-
value = make_enum(entry->value, klass);
|
211
|
-
rbgobj_define_const(klass, const_nick_name, value);
|
212
|
-
}
|
213
|
-
}
|
214
|
-
#endif
|
215
|
-
|
216
|
-
g_free(const_nick_name);
|
217
202
|
}
|
218
203
|
|
219
204
|
g_type_class_unref(gclass);
|
@@ -230,42 +215,32 @@ rg_s_range(VALUE self)
|
|
230
215
|
return result;
|
231
216
|
}
|
232
217
|
|
233
|
-
struct enum_s_values_body_args {
|
234
|
-
GEnumClass *gclass;
|
235
|
-
VALUE self;
|
236
|
-
};
|
237
|
-
|
238
|
-
static VALUE
|
239
|
-
enum_s_values_body(VALUE value)
|
240
|
-
{
|
241
|
-
struct enum_s_values_body_args *args = (struct enum_s_values_body_args *)value;
|
242
|
-
VALUE result = rb_ary_new();
|
243
|
-
guint i;
|
244
|
-
|
245
|
-
for (i = 0; i < args->gclass->n_values; i++)
|
246
|
-
rb_ary_push(result, make_enum(args->gclass->values[i].value, args->self));
|
247
|
-
|
248
|
-
return result;
|
249
|
-
}
|
250
|
-
|
251
218
|
static VALUE
|
252
|
-
|
219
|
+
rg_s_values(VALUE self)
|
253
220
|
{
|
254
|
-
|
255
|
-
|
256
|
-
return Qnil;
|
221
|
+
VALUE values = rb_iv_get(self, "values");
|
222
|
+
return rb_funcall(values, id_values, 0);
|
257
223
|
}
|
258
224
|
|
259
225
|
static VALUE
|
260
|
-
|
226
|
+
rg_s_find(VALUE self, VALUE key)
|
261
227
|
{
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
}
|
266
|
-
|
267
|
-
|
268
|
-
|
228
|
+
if (RB_TYPE_P(key, RUBY_T_FIXNUM)) {
|
229
|
+
VALUE values = rb_iv_get(self, "values");
|
230
|
+
return rb_hash_aref(values, key);
|
231
|
+
} else if (RB_TYPE_P(key, RUBY_T_STRING) || RB_TYPE_P(key, RUBY_T_SYMBOL)) {
|
232
|
+
VALUE nick = rb_funcall(key, id_to_s, 0);
|
233
|
+
gchar *const_nick = nick_to_const_name(RVAL2CSTR(nick));
|
234
|
+
ID const_nick_id = rb_intern(const_nick);
|
235
|
+
g_free(const_nick);
|
236
|
+
if (rb_const_defined(self, const_nick_id)) {
|
237
|
+
return rb_const_get(self, const_nick_id);
|
238
|
+
} else {
|
239
|
+
return Qnil;
|
240
|
+
}
|
241
|
+
} else {
|
242
|
+
return Qnil;
|
243
|
+
}
|
269
244
|
}
|
270
245
|
|
271
246
|
VALUE
|
@@ -433,9 +408,11 @@ rg_coerce(VALUE self, VALUE other)
|
|
433
408
|
void
|
434
409
|
Init_gobject_genums(void)
|
435
410
|
{
|
411
|
+
id_find = rb_intern("find");
|
436
412
|
id_new = rb_intern("new");
|
437
|
-
id_to_s = rb_intern("to_s");
|
438
413
|
id_to_i = rb_intern("to_i");
|
414
|
+
id_to_s = rb_intern("to_s");
|
415
|
+
id_values = rb_intern("values");
|
439
416
|
|
440
417
|
RG_TARGET_NAMESPACE = G_DEF_CLASS(G_TYPE_ENUM, "Enum", mGLib);
|
441
418
|
|
@@ -444,6 +421,7 @@ Init_gobject_genums(void)
|
|
444
421
|
|
445
422
|
RG_DEF_SMETHOD(range, 0);
|
446
423
|
RG_DEF_SMETHOD(values, 0);
|
424
|
+
RG_DEF_SMETHOD(find, 1);
|
447
425
|
|
448
426
|
rb_define_alloc_func(RG_TARGET_NAMESPACE, rbgobj_enum_alloc_func);
|
449
427
|
|
data/ext/glib2/rbgobj_type.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2002-
|
3
|
+
* Copyright (C) 2002-2019 Ruby-GNOME Project Team
|
4
4
|
* Copyright (C) 2002,2003 Masahiro Sakai
|
5
5
|
*
|
6
6
|
* This library is free software; you can redistribute it and/or
|
@@ -377,7 +377,7 @@ rbgobj_class_info_lookup(VALUE klass)
|
|
377
377
|
if (TYPE(klass) == T_CLASS) {
|
378
378
|
VALUE super;
|
379
379
|
super = rb_funcall(klass, id_superclass, 0);
|
380
|
-
return
|
380
|
+
return rbgobj_class_info_lookup(super);
|
381
381
|
}
|
382
382
|
|
383
383
|
rb_raise(rb_eRuntimeError, "can't get gobject class information");
|
@@ -605,6 +605,61 @@ rbgobj_gtype_get(VALUE self)
|
|
605
605
|
rb_raise(rb_eTypeError, "Not a GLib::Type");
|
606
606
|
}
|
607
607
|
|
608
|
+
static VALUE
|
609
|
+
rg_s_try_convert(VALUE self, VALUE value)
|
610
|
+
{
|
611
|
+
ID id_new;
|
612
|
+
CONST_ID(id_new, "new");
|
613
|
+
|
614
|
+
if (NIL_P(value))
|
615
|
+
return Qnil;
|
616
|
+
|
617
|
+
if (RVAL2CBOOL(rb_obj_is_kind_of(value, RG_TARGET_NAMESPACE)))
|
618
|
+
return value;
|
619
|
+
|
620
|
+
if (RVAL2CBOOL(rb_obj_is_kind_of(value, rb_cInteger))) {
|
621
|
+
GType gtype = NUM2ULONG(value);
|
622
|
+
if (!g_type_name(gtype))
|
623
|
+
return Qnil;
|
624
|
+
return rb_funcall(self, id_new, 1, value);
|
625
|
+
}
|
626
|
+
|
627
|
+
if (RB_TYPE_P(value, RUBY_T_SYMBOL)) {
|
628
|
+
value = rb_sym2str(value);
|
629
|
+
}
|
630
|
+
|
631
|
+
if (RB_TYPE_P(value, RUBY_T_STRING)) {
|
632
|
+
GType gtype = g_type_from_name(RVAL2CSTR(value));
|
633
|
+
if (gtype == G_TYPE_INVALID) {
|
634
|
+
return Qnil;
|
635
|
+
}
|
636
|
+
return rb_funcall(self, id_new, 1, value);
|
637
|
+
}
|
638
|
+
|
639
|
+
if (RVAL2CBOOL(rb_obj_is_kind_of(value, rb_cClass))) {
|
640
|
+
for (; !NIL_P(value); value = rb_funcall(value, id_superclass, 0)) {
|
641
|
+
RGObjClassInfo *cinfo;
|
642
|
+
VALUE data = rb_hash_aref(klass_to_cinfo, value);
|
643
|
+
|
644
|
+
if (NIL_P(data))
|
645
|
+
continue;
|
646
|
+
|
647
|
+
if (RTYPEDDATA_P(data)) {
|
648
|
+
TypedData_Get_Struct(data,
|
649
|
+
RGObjClassInfo,
|
650
|
+
RTYPEDDATA_TYPE(data),
|
651
|
+
cinfo);
|
652
|
+
} else {
|
653
|
+
Data_Get_Struct(data, RGObjClassInfo, cinfo);
|
654
|
+
}
|
655
|
+
return rb_funcall(self, id_new, 1, ULONG2NUM(cinfo->gtype));
|
656
|
+
}
|
657
|
+
return Qnil;
|
658
|
+
}
|
659
|
+
|
660
|
+
return Qnil;
|
661
|
+
}
|
662
|
+
|
608
663
|
static VALUE
|
609
664
|
rg_initialize(VALUE self, VALUE type)
|
610
665
|
{
|
@@ -930,6 +985,8 @@ Init_gobject_gtype(void)
|
|
930
985
|
|
931
986
|
RG_TARGET_NAMESPACE = rb_define_class_under(mGLib, "Type", rb_cObject);
|
932
987
|
|
988
|
+
RG_DEF_SMETHOD(try_convert, 1);
|
989
|
+
|
933
990
|
rb_define_alias(CLASS_OF(RG_TARGET_NAMESPACE), "[]", "new");
|
934
991
|
RG_DEF_METHOD(initialize, 1);
|
935
992
|
RG_DEF_METHOD(inspect, 0);
|
data/ext/glib2/rbgprivate.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
2
|
/*
|
3
|
-
* Copyright (C) 2007-
|
3
|
+
* Copyright (C) 2007-2019 Ruby-GNOME2 Project Team
|
4
4
|
*
|
5
5
|
* This library is free software; you can redistribute it and/or
|
6
6
|
* modify it under the terms of the GNU Lesser General Public
|
@@ -60,6 +60,7 @@ typedef struct {
|
|
60
60
|
} boxed_holder;
|
61
61
|
|
62
62
|
G_GNUC_INTERNAL extern GStaticPrivate rg_polling_key;
|
63
|
+
G_GNUC_INTERNAL extern rb_encoding *rbg_filename_encoding;
|
63
64
|
|
64
65
|
extern VALUE rbgobj_cEnum;
|
65
66
|
extern VALUE rbgobj_cFlags;
|
data/glib2.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- ruby -*-
|
2
2
|
#
|
3
|
-
# Copyright (C) 2018-2019 Ruby-
|
3
|
+
# Copyright (C) 2018-2019 Ruby-GNOME Project Team
|
4
4
|
#
|
5
5
|
# This library is free software; you can redistribute it and/or
|
6
6
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
|
|
25
25
|
"Ruby/GLib2 provides " +
|
26
26
|
"base features for GLib2 based bindings and " +
|
27
27
|
"many useful utility features."
|
28
|
-
s.author = "The Ruby-
|
28
|
+
s.author = "The Ruby-GNOME Project Team"
|
29
29
|
s.email = "ruby-gnome2-devel-en@lists.sourceforge.net"
|
30
30
|
s.homepage = "https://ruby-gnome2.osdn.jp/"
|
31
31
|
s.licenses = ["LGPL-2.1+"]
|
data/lib/glib-mkenums.rb
CHANGED
@@ -112,7 +112,10 @@ GType #{@enum_name}_get_type (void);
|
|
112
112
|
data.force_encoding("utf-8") if data.respond_to?(:force_encoding)
|
113
113
|
data.scan(/^\s*typedef\s+enum\s*(\/\*<\s*flags\s*>\*\/)?\s*
|
114
114
|
\{?\s*(.*?)
|
115
|
-
\}\s*(\w+)
|
115
|
+
\}\s*(\w+)
|
116
|
+
# GLIB_DEPRECATED_TYPE_IN_2_38_FOR(GTestSubprocessFlags)
|
117
|
+
(?:\s+[\w()\s]+)?
|
118
|
+
;/mx) do |force_flags, constants, name|
|
116
119
|
enum_options = {}
|
117
120
|
enum_options[:force_flags] = !force_flags.nil?
|
118
121
|
force_flags_patterns = [(options[:force_flags] || [])].flatten
|
data/lib/glib2.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2005-
|
1
|
+
# Copyright (C) 2005-2019 Ruby-GNOME Project Team
|
2
2
|
#
|
3
3
|
# This library is free software; you can redistribute it and/or
|
4
4
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -148,23 +148,50 @@ module GLib
|
|
148
148
|
|
149
149
|
|
150
150
|
class Enum
|
151
|
-
|
152
|
-
|
151
|
+
class << self
|
152
|
+
def try_convert(value)
|
153
|
+
if value.is_a?(self)
|
154
|
+
value
|
155
|
+
else
|
156
|
+
find(value)
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
def _load(obj)
|
161
|
+
new(Marshal.load(obj))
|
162
|
+
end
|
153
163
|
end
|
154
164
|
|
155
|
-
def
|
156
|
-
|
165
|
+
def _dump(limit)
|
166
|
+
Marshal.dump(to_i, limit)
|
157
167
|
end
|
158
168
|
end
|
159
169
|
|
160
170
|
|
161
171
|
class Flags
|
162
|
-
|
163
|
-
|
172
|
+
class << self
|
173
|
+
def try_convert(value)
|
174
|
+
case value
|
175
|
+
when self
|
176
|
+
value
|
177
|
+
when Integer, String, Symbol, Array
|
178
|
+
begin
|
179
|
+
new(value)
|
180
|
+
rescue ArgumentError
|
181
|
+
nil
|
182
|
+
end
|
183
|
+
else
|
184
|
+
nil
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
188
|
+
def _load(obj)
|
189
|
+
new(Marshal.load(obj))
|
190
|
+
end
|
164
191
|
end
|
165
192
|
|
166
|
-
def
|
167
|
-
|
193
|
+
def _dump(limit)
|
194
|
+
Marshal.dump(to_i, limit)
|
168
195
|
end
|
169
196
|
|
170
197
|
# FIXME
|
data/test/test-bytes.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2017 Ruby-
|
1
|
+
# Copyright (C) 2017-2019 Ruby-GNOME Project Team
|
2
2
|
#
|
3
3
|
# This library is free software; you can redistribute it and/or
|
4
4
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -21,6 +21,27 @@ class TestGLibBytes < Test::Unit::TestCase
|
|
21
21
|
only_glib_version(2, 32, 0)
|
22
22
|
end
|
23
23
|
|
24
|
+
sub_test_case ".try_convert" do
|
25
|
+
def test_nil
|
26
|
+
assert_nil(GLib::Bytes.try_convert(nil))
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_bytes
|
30
|
+
bytes = GLib::Bytes.new("Hello")
|
31
|
+
assert_equal(bytes,
|
32
|
+
GLib::Bytes.try_convert(bytes))
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_string
|
36
|
+
assert_equal("Hello",
|
37
|
+
GLib::Bytes.try_convert("Hello").to_s)
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_unconvertable
|
41
|
+
assert_nil(GLib::Bytes.try_convert([]))
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
24
45
|
sub_test_case ".new" do
|
25
46
|
def create_bytes(options={})
|
26
47
|
data = "Hello"
|
data/test/test-enum.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2015 Ruby-
|
1
|
+
# Copyright (C) 2015-2019 Ruby-GNOME Project Team
|
2
2
|
#
|
3
3
|
# This library is free software; you can redistribute it and/or
|
4
4
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -14,10 +14,41 @@
|
|
14
14
|
# License along with this library; if not, write to the Free Software
|
15
15
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
16
|
|
17
|
-
require 'test/unit'
|
18
|
-
require 'glib2'
|
19
|
-
|
20
17
|
class TestEnum < Test::Unit::TestCase
|
18
|
+
sub_test_case(".try_convert") do
|
19
|
+
def test_nil
|
20
|
+
assert_nil(GLib::NormalizeMode.try_convert(nil))
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_enum
|
24
|
+
assert_equal(GLib::NormalizeMode::NFD,
|
25
|
+
GLib::NormalizeMode.try_convert(GLib::NormalizeMode::NFD))
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_integer
|
29
|
+
assert_equal(GLib::NormalizeMode::NFD,
|
30
|
+
GLib::NormalizeMode.try_convert(GLib::NormalizeMode::NFD.to_i))
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_string
|
34
|
+
assert_equal(GLib::NormalizeMode::NFD,
|
35
|
+
GLib::NormalizeMode.try_convert("nfd"))
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_symbol
|
39
|
+
assert_equal(GLib::NormalizeMode::NFD,
|
40
|
+
GLib::NormalizeMode.try_convert(:nfd))
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_nonexistent
|
44
|
+
assert_nil(GLib::NormalizeMode.try_convert(:nonexistent))
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_unconvertable
|
48
|
+
assert_nil(GLib::NormalizeMode.try_convert([]))
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
21
52
|
def test_enum_by_symbol
|
22
53
|
original = [0x00c1].pack("U*") # A with acute
|
23
54
|
|
data/test/test-flags.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C) 2015 Ruby-
|
1
|
+
# Copyright (C) 2015-2019 Ruby-GNOME Project Team
|
2
2
|
#
|
3
3
|
# This library is free software; you can redistribute it and/or
|
4
4
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -13,11 +13,47 @@
|
|
13
13
|
# You should have received a copy of the GNU Lesser General Public
|
14
14
|
# License along with this library; if not, write to the Free Software
|
15
15
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
|
-
|
17
|
-
require 'test/unit'
|
18
|
-
require 'glib2'
|
19
16
|
|
20
17
|
class TestFlags < Test::Unit::TestCase
|
18
|
+
sub_test_case(".try_convert") do
|
19
|
+
def test_nil
|
20
|
+
assert_nil(GLib::KeyFile::Flags.try_convert(nil))
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_flags
|
24
|
+
assert_equal(GLib::KeyFile::Flags::KEEP_COMMENTS,
|
25
|
+
GLib::KeyFile::Flags.try_convert(GLib::KeyFile::Flags::KEEP_COMMENTS))
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_integer
|
29
|
+
assert_equal(GLib::KeyFile::Flags.new(1),
|
30
|
+
GLib::KeyFile::Flags.try_convert(1))
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_string
|
34
|
+
assert_equal(GLib::KeyFile::Flags.new("keep_comments"),
|
35
|
+
GLib::KeyFile::Flags.try_convert("keep_comments"))
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_symbol
|
39
|
+
assert_equal(GLib::KeyFile::Flags.new(:keep_comments),
|
40
|
+
GLib::KeyFile::Flags.try_convert(:keep_comments))
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_array
|
44
|
+
assert_equal(GLib::KeyFile::Flags.new(1 | 2),
|
45
|
+
GLib::KeyFile::Flags.try_convert([1, :keep_translations]))
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_nonexistent
|
49
|
+
assert_nil(GLib::KeyFile::Flags.try_convert(:nonexistent))
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_unconvertable
|
53
|
+
assert_nil(GLib::KeyFile::Flags.try_convert({}))
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
21
57
|
{
|
22
58
|
'<=>' => [
|
23
59
|
[0b0000, 0.0, nil],
|
data/test/test-glib2.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
#
|
1
|
+
# coding: ascii-8bit
|
2
2
|
#
|
3
|
-
# Copyright (C) 2015 Ruby-GNOME2 Project Team
|
3
|
+
# Copyright (C) 2015-2019 Ruby-GNOME2 Project Team
|
4
4
|
#
|
5
5
|
# This library is free software; you can redistribute it and/or
|
6
6
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -49,37 +49,37 @@ class TestGLib < Test::Unit::TestCase
|
|
49
49
|
def test_convert
|
50
50
|
assert_kind_of(String, GLib.charset)
|
51
51
|
|
52
|
-
sjis = "\202\261\202\361\202\311\202\277\202\315\220\242\212E"
|
53
|
-
euc = "\244\263\244\363\244\313\244\301\244\317\300\244\263\246"
|
54
|
-
utf8 = "\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257\344\270\226\347\225\214"
|
55
|
-
assert_equal(GLib.convert(sjis, "UTF-8", "SHIFT_JIS")
|
56
|
-
assert_equal(GLib.convert(sjis, "EUC-JP", "SHIFT_JIS")
|
57
|
-
assert_equal(GLib.convert(sjis, "SHIFT_JIS", "SHIFT_JIS")
|
58
|
-
assert_equal(GLib.convert(euc, "UTF-8", "EUC-JP")
|
59
|
-
assert_equal(GLib.convert(euc, "EUC-JP", "EUC-JP")
|
60
|
-
assert_equal(GLib.convert(euc, "SHIFT_JIS", "EUC-JP")
|
61
|
-
assert_equal(GLib.convert(utf8, "UTF-8", "UTF-8")
|
62
|
-
assert_equal(GLib.convert(utf8, "EUC-JP", "UTF-8")
|
63
|
-
assert_equal(GLib.convert(utf8, "SHIFT_JIS", "UTF-8")
|
52
|
+
sjis = "\202\261\202\361\202\311\202\277\202\315\220\242\212E".force_encoding("Shift_JIS")
|
53
|
+
euc = "\244\263\244\363\244\313\244\301\244\317\300\244\263\246".force_encoding("EUC-JP")
|
54
|
+
utf8 = "\343\201\223\343\202\223\343\201\253\343\201\241\343\201\257\344\270\226\347\225\214".force_encoding("UTF-8")
|
55
|
+
assert_equal(utf8, GLib.convert(sjis, "UTF-8", "SHIFT_JIS"))
|
56
|
+
assert_equal(euc, GLib.convert(sjis, "EUC-JP", "SHIFT_JIS"))
|
57
|
+
assert_equal(sjis, GLib.convert(sjis, "SHIFT_JIS", "SHIFT_JIS"))
|
58
|
+
assert_equal(utf8, GLib.convert(euc, "UTF-8", "EUC-JP"))
|
59
|
+
assert_equal(euc, GLib.convert(euc, "EUC-JP", "EUC-JP"))
|
60
|
+
assert_equal(sjis, GLib.convert(euc, "SHIFT_JIS", "EUC-JP"))
|
61
|
+
assert_equal(utf8, GLib.convert(utf8, "UTF-8", "UTF-8"))
|
62
|
+
assert_equal(euc, GLib.convert(utf8, "EUC-JP", "UTF-8"))
|
63
|
+
assert_equal(sjis, GLib.convert(utf8, "SHIFT_JIS", "UTF-8"))
|
64
64
|
end
|
65
65
|
|
66
|
-
def
|
67
|
-
assert_equal(Encoding::
|
66
|
+
def test_locale_to_utf8
|
67
|
+
assert_equal(Encoding::UTF_8,
|
68
68
|
GLib.locale_to_utf8("ascii").encoding)
|
69
69
|
end
|
70
70
|
|
71
|
-
def
|
71
|
+
def test_locale_from_utf8
|
72
72
|
assert_equal(Encoding::ASCII_8BIT,
|
73
73
|
GLib.locale_from_utf8("ascii").encoding)
|
74
74
|
end
|
75
75
|
|
76
|
-
def
|
77
|
-
assert_equal(Encoding::
|
76
|
+
def test_filename_to_utf8
|
77
|
+
assert_equal(Encoding::UTF_8,
|
78
78
|
GLib.filename_to_utf8("ascii.txt").encoding)
|
79
79
|
end
|
80
80
|
|
81
|
-
def
|
82
|
-
assert_equal(
|
81
|
+
def test_filename_from_utf8
|
82
|
+
assert_equal(GLib::FILENAME_ENCODING,
|
83
83
|
GLib.filename_from_utf8("ascii.txt").encoding)
|
84
84
|
end
|
85
85
|
|
data/test/test-type.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
# Copyright (C) 2019 Ruby-GNOME Project Team
|
2
|
+
#
|
3
|
+
# This library is free software; you can redistribute it and/or
|
4
|
+
# modify it under the terms of the GNU Lesser General Public
|
5
|
+
# License as published by the Free Software Foundation; either
|
6
|
+
# version 2.1 of the License, or (at your option) any later version.
|
7
|
+
#
|
8
|
+
# This library is distributed in the hope that it will be useful,
|
9
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
11
|
+
# Lesser General Public License for more details.
|
12
|
+
#
|
13
|
+
# You should have received a copy of the GNU Lesser General Public
|
14
|
+
# License along with this library; if not, write to the Free Software
|
15
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
16
|
+
|
17
|
+
class TestGLibType < Test::Unit::TestCase
|
18
|
+
sub_test_case(".try_convert") do
|
19
|
+
def test_nil
|
20
|
+
assert_nil(GLib::Type.try_convert(nil))
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_type
|
24
|
+
assert_equal(GLib::Type::STRING,
|
25
|
+
GLib::Type.try_convert(GLib::Type::STRING))
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_integer
|
29
|
+
assert_equal(GLib::Type::STRING,
|
30
|
+
GLib::Type.try_convert(GLib::Type::STRING.to_i))
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_string
|
34
|
+
assert_equal(GLib::Type::STRING,
|
35
|
+
GLib::Type.try_convert("gchararray"))
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_symbol
|
39
|
+
assert_equal(GLib::Type::STRING,
|
40
|
+
GLib::Type.try_convert(:gchararray))
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_nonexistent
|
44
|
+
assert_nil(GLib::Type.try_convert(:nonexistent))
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_unconvertable
|
48
|
+
assert_nil(GLib::Type.try_convert([]))
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glib2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.3.
|
4
|
+
version: 3.3.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- The Ruby-
|
7
|
+
- The Ruby-GNOME Project Team
|
8
|
+
autorequire:
|
8
9
|
bindir: bin
|
9
10
|
cert_chain: []
|
10
|
-
date: 2019-
|
11
|
+
date: 2019-09-09 00:00:00.000000000 Z
|
11
12
|
dependencies:
|
12
13
|
- !ruby/object:Gem::Dependency
|
13
14
|
name: pkg-config
|
@@ -192,6 +193,7 @@ files:
|
|
192
193
|
- test/test-time-zone.rb
|
193
194
|
- test/test-timeout.rb
|
194
195
|
- test/test-type-interface.rb
|
196
|
+
- test/test-type.rb
|
195
197
|
- test/test-unicode.rb
|
196
198
|
- test/test-utils.rb
|
197
199
|
- test/test-value.rb
|