ruby-gr 0.72.9.0 → 0.73.17.0
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 +1 -1
- data/lib/gr/ffi.rb +29 -3
- data/lib/gr.rb +3 -3
- data/lib/gr3.rb +1 -1
- data/lib/gr_commons/define_methods.rb +5 -1
- data/lib/gr_commons/fiddley.rb +4 -0
- data/lib/gr_commons/gr_logger.rb +1 -1
- data/lib/gr_commons/version.rb +1 -1
- data/lib/grm/ffi.rb +24 -1
- data/lib/grm.rb +104 -0
- metadata +3 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51280dfb8fb8ed2385148658651d3c4109307394f31c270cc715595097ccae3a
|
4
|
+
data.tar.gz: d6231ee72a5027eeb587f3b537568774458e07f336e4aa4363472f88b52f8aa4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 197d1aa2c250e109aae5c56973ff8ae1baa7bbdb963708763c789b286a5810c5a239f166507b72f75efc69f9b440db39a4b5df4c702a7a117ffeca6f4a8c9fc9
|
7
|
+
data.tar.gz: 50f09df9aed163d17b8f5fcea1ebb94f72abfffe28fd83bae262dcd64a706f4a4090203b38e04fc607bb6631ddb6f02c73c823363989e7f549454d110240d19d
|
data/README.md
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
[](https://rubygems.org/gems/ruby-gr)
|
4
4
|
[](https://github.com/red-data-tools/GR.rb/actions)
|
5
|
-
[](https://gitter.im/red-data-tools/en)
|
6
5
|
[](https://red-data-tools.github.io/GR.rb/)
|
6
|
+
[](https://tokei.kojix2.net/github/red-data-tools/GR.rb)
|
7
7
|
|
8
8
|
[](examples/rdatasets.rb)
|
9
9
|
[](examples/fast_plots.rb)
|
data/lib/gr/ffi.rb
CHANGED
@@ -125,8 +125,8 @@ module GR
|
|
125
125
|
try_extern 'void gr_inqfillstyle(int *)'
|
126
126
|
try_extern 'void gr_setfillcolorind(int)'
|
127
127
|
try_extern 'void gr_inqfillcolorind(int *)'
|
128
|
-
try_extern 'void
|
129
|
-
try_extern 'void
|
128
|
+
try_extern 'void gr_setnominalsize(double)'
|
129
|
+
try_extern 'void gr_inqnominalsize(double *)'
|
130
130
|
try_extern 'void gr_setcolorrep(int, double, double, double)'
|
131
131
|
try_extern 'void gr_setwindow(double, double, double, double)'
|
132
132
|
try_extern 'void gr_inqwindow(double *, double *, double *, double *)'
|
@@ -155,6 +155,10 @@ module GR
|
|
155
155
|
try_extern 'void gr_axeslbl(double, double, double, double, int, int, double,' \
|
156
156
|
' void (*)(double, double, const char *, double),' \
|
157
157
|
' void (*)(double, double, const char *, double))'
|
158
|
+
try_extern 'void gr_axis(char, axis_t *)'
|
159
|
+
try_extern 'void gr_drawaxis(char, axis_t *)'
|
160
|
+
try_extern 'void gr_drawaxes(axis_t *, axis_t *, int)'
|
161
|
+
try_extern 'void gr_freeaxis(axis_t *)'
|
158
162
|
try_extern 'void gr_grid(double, double, double, double, int, int)'
|
159
163
|
try_extern 'void gr_grid3d(double, double, double, double, double, double, int, int, int)'
|
160
164
|
try_extern 'void gr_verrorbars(int, double *, double *, double *, double *)'
|
@@ -163,6 +167,7 @@ module GR
|
|
163
167
|
try_extern 'void gr_polymarker3d(int, double *, double *, double *)'
|
164
168
|
try_extern 'void gr_axes3d(double, double, double, double, double, double, int, int, int, double)'
|
165
169
|
try_extern 'void gr_titles3d(char *, char *, char *)'
|
170
|
+
try_extern 'void gr_settitles3d(char *, char *, char *)'
|
166
171
|
try_extern 'void gr_surface(int, int, double *, double *, double *, int)'
|
167
172
|
try_extern 'void gr_contour(int, int, int, double *, double *, double *, double *, int)'
|
168
173
|
try_extern 'void gr_contourf(int, int, int, double *, double *, double *, double *, int)'
|
@@ -200,19 +205,28 @@ module GR
|
|
200
205
|
try_extern 'int gr_importgraphics(char *)'
|
201
206
|
try_extern 'void gr_setshadow(double, double, double)'
|
202
207
|
try_extern 'void gr_settransparency(double)'
|
208
|
+
try_extern 'void gr_inqtransparency(double *)'
|
203
209
|
try_extern 'void gr_setcoordxform(double[3][2])'
|
204
210
|
try_extern 'void gr_begingraphics(char *)'
|
205
211
|
try_extern 'void gr_endgraphics(void)'
|
206
212
|
try_extern 'char *gr_getgraphics(void)'
|
207
213
|
try_extern 'int gr_drawgraphics(char *)'
|
208
214
|
try_extern 'int gr_startlistener(void)'
|
215
|
+
try_extern 'int gr_inqgrplotport(void)'
|
216
|
+
try_extern 'int gr_setgrplotport(int)'
|
209
217
|
try_extern 'void gr_mathtex(double, double, char *)'
|
210
218
|
try_extern 'void gr_inqmathtex(double, double, char *, double *, double *)'
|
219
|
+
try_extern 'void gr_mathtex3d(double, double, double, char *, int)'
|
220
|
+
try_extern 'void gr_inqmathtex3d(double, double, double, char *, int, double *, double *, double *, double *)'
|
211
221
|
try_extern 'void gr_beginselection(int, int)'
|
212
222
|
try_extern 'void gr_endselection(void)'
|
223
|
+
try_extern 'void gr_setbboxcallback(int, void (*)(int, double, double, double, double))'
|
224
|
+
try_extern 'void gr_cancelbboxcallback(void)'
|
213
225
|
try_extern 'void gr_moveselection(double, double)'
|
214
226
|
try_extern 'void gr_resizeselection(int, double, double)'
|
215
227
|
try_extern 'void gr_inqbbox(double *, double *, double *, double *)'
|
228
|
+
try_extern 'void gr_setbackground(void)'
|
229
|
+
try_extern 'void gr_clearbackground(void)'
|
216
230
|
try_extern 'double gr_precision(void)'
|
217
231
|
try_extern 'int gr_text_maxsize(void)'
|
218
232
|
try_extern 'void gr_setregenflags(int)'
|
@@ -230,7 +244,8 @@ module GR
|
|
230
244
|
try_extern 'void gr_gradient(int, int, double *, double *, double *, double *, double *)'
|
231
245
|
try_extern 'void gr_quiver(int, int, double *, double *, double *, double *, int)'
|
232
246
|
try_extern 'void gr_interp2(int nx, int ny, const double *x, const double *y, const double *z,' \
|
233
|
-
' int nxq, int nyq, const double *xq, const double *yq, double *zq,
|
247
|
+
' int nxq, int nyq, const double *xq, const double *yq, double *zq,' \
|
248
|
+
' interp2_method_t method, double extrapval)'
|
234
249
|
try_extern 'const char *gr_version(void)'
|
235
250
|
try_extern 'void gr_shade(int, double *, double *, int, int, double *, int, int, int *)'
|
236
251
|
try_extern 'void gr_shadepoints(int, double *, double *, int, int, int)'
|
@@ -262,6 +277,7 @@ module GR
|
|
262
277
|
try_extern 'void gr_setscalefactors3d(double, double, double)'
|
263
278
|
try_extern 'void gr_inqscalefactors3d(double *, double *, double *)'
|
264
279
|
try_extern 'void gr_setspace3d(double, double, double, double)'
|
280
|
+
try_extern 'void gr_inqspace3d(int *, double *, double *, double *, double *)'
|
265
281
|
try_extern 'void gr_text3d(double, double, double, char *, int axis)'
|
266
282
|
try_extern 'void gr_inqtext3d(double, double, double, char *, int axis, double *, double *)'
|
267
283
|
try_extern 'void gr_settextencoding(int)'
|
@@ -282,10 +298,20 @@ module GR
|
|
282
298
|
# typedef double (*radius_f)(const data_point3d_t *, const void *);
|
283
299
|
typealias 'kernel_f', 'void*'
|
284
300
|
typealias 'radius_f', 'void*'
|
301
|
+
typealias 'interp2_method_t', 'int'
|
285
302
|
try_extern 'void gr_volume_nogrid(unsigned long, const data_point3d_t *, const void *, int, kernel_f, double *, double *, double, radius_f)'
|
286
303
|
try_extern 'void gr_volume_interp_tri_linear_init(double, double, double)'
|
287
304
|
try_extern 'void gr_volume_interp_gauss_init(double, double *)'
|
288
305
|
try_extern 'double gr_volume_interp_tri_linear(const data_point3d_t *, const void *, const point3d_t *, const point3d_t *)'
|
289
306
|
try_extern 'double gr_volume_interp_gauss(const data_point3d_t *, const void *, const point3d_t *, const point3d_t *)'
|
307
|
+
try_extern 'void gr_setmathfont(int font)'
|
308
|
+
try_extern 'void gr_inqmathfont(int *font)'
|
309
|
+
try_extern 'void gr_setclipregion(int region)'
|
310
|
+
try_extern 'void gr_inqclipregion(int *region)'
|
311
|
+
try_extern 'void gr_setclipsector(double start_angle, double end_angle)'
|
312
|
+
try_extern 'void gr_inqclipsector(double *start_angle, double *end_angle)'
|
313
|
+
try_extern 'void gr_settextoffset(double xoff, double yoff)'
|
314
|
+
try_extern 'char *gr_ftoa(char *string, double value, format_reference_t *reference)'
|
315
|
+
try_extern 'void gr_getformat(format_reference_t *result, double origin, double min, double max, double tick_width, int major)'
|
290
316
|
end
|
291
317
|
end
|
data/lib/gr.rb
CHANGED
@@ -137,7 +137,7 @@ module GR
|
|
137
137
|
# * 371 : Gtk
|
138
138
|
# * 380 : wxWidgets
|
139
139
|
# * 381 : Qt4
|
140
|
-
# * 382 :
|
140
|
+
# * 382 : Scalable Vector Graphics (SVG)
|
141
141
|
# * 390 : Windows Metafile
|
142
142
|
# * 400 : Quartz
|
143
143
|
# * 410 : Socket driver
|
@@ -519,7 +519,7 @@ module GR
|
|
519
519
|
inquiry_int { |pt| super(pt) }
|
520
520
|
end
|
521
521
|
|
522
|
-
#
|
522
|
+
# Specify the marker type for polymarkers.
|
523
523
|
#
|
524
524
|
# @param style [Integer] The polymarker marker type
|
525
525
|
# * 1 : MARKERTYPE_DOT - Smallest displayable dot
|
@@ -732,7 +732,7 @@ module GR
|
|
732
732
|
# * 3 : TEXT_HALIGN_RIGHT - Right justify
|
733
733
|
#
|
734
734
|
# @param vertical [Integer] Vertical text alignment
|
735
|
-
# * 0 : TEXT_VALIGN_NORMAL
|
735
|
+
# * 0 : TEXT_VALIGN_NORMAL
|
736
736
|
# * 1 : TEXT_VALIGN_TOP - Align with the top of the characters
|
737
737
|
# * 2 : TEXT_VALIGN_CAP - Aligned with the cap of the characters
|
738
738
|
# * 3 : TEXT_VALIGN_HALF - Aligned with the half line of the characters
|
data/lib/gr3.rb
CHANGED
@@ -288,7 +288,7 @@ module GR3
|
|
288
288
|
#
|
289
289
|
# This function does not return an error code, because of its asynchronous
|
290
290
|
# nature. If gr3_getpixmap_() returns a GR3_ERROR_OPENGL_ERR, this might be
|
291
|
-
# caused by this function saving
|
291
|
+
# caused by this function saving unusable data into the draw list.
|
292
292
|
#
|
293
293
|
# @param mesh [Integer] The mesh to be drawn
|
294
294
|
# @param n [Integer] The number of meshes to be drawn
|
@@ -20,7 +20,11 @@ module GRCommons
|
|
20
20
|
when ->(x) { defined?(Numo::NArray) && x.is_a?(Numo::NArray) }
|
21
21
|
GRCommonUtils.public_send(default_type, arg)
|
22
22
|
else
|
23
|
-
arg
|
23
|
+
if arg.respond_to?(:to_gr)
|
24
|
+
arg.to_gr
|
25
|
+
else
|
26
|
+
arg
|
27
|
+
end
|
24
28
|
end
|
25
29
|
end
|
26
30
|
ffi_module.public_send(method, *args)
|
data/lib/gr_commons/fiddley.rb
CHANGED
data/lib/gr_commons/gr_logger.rb
CHANGED
@@ -34,7 +34,7 @@ module GRCommons
|
|
34
34
|
#
|
35
35
|
# @note Mainly used by developers for debugging.
|
36
36
|
#
|
37
|
-
# = How it works
|
37
|
+
# = How it works
|
38
38
|
# It prepend a module named Inspector to the singular class of the FFI module.
|
39
39
|
# It will inspects the GR function call of the FFI module
|
40
40
|
#
|
data/lib/gr_commons/version.rb
CHANGED
data/lib/grm/ffi.rb
CHANGED
@@ -21,6 +21,7 @@ module GRM
|
|
21
21
|
# header files.
|
22
22
|
|
23
23
|
# https://github.com/sciapp/gr/blob/master/lib/grm/include/grm/args.h
|
24
|
+
try_extern 'grm_args_value_iterator_t *grm_arg_value_iter(const grm_arg_t *arg)'
|
24
25
|
try_extern 'grm_args_t *grm_args_new(void)'
|
25
26
|
try_extern 'void grm_args_delete(grm_args_t *args)'
|
26
27
|
try_extern 'int grm_args_push(grm_args_t *args, const char *key, const char *value_format, ...)'
|
@@ -30,6 +31,7 @@ module GRM
|
|
30
31
|
try_extern 'int grm_args_values(const grm_args_t *args, const char *keyword, const char *expected_format, ...)'
|
31
32
|
try_extern 'void grm_args_clear(grm_args_t *args)'
|
32
33
|
try_extern 'void grm_args_remove(grm_args_t *args, const char *key)'
|
34
|
+
try_extern 'grm_args_iterator_t *grm_args_iter(const grm_args_t *args)'
|
33
35
|
typealias 'grm_args_ptr_t', 'void*'
|
34
36
|
try_extern 'grm_args_ptr_t grm_length(double value, const char *unit)'
|
35
37
|
|
@@ -37,6 +39,9 @@ module GRM
|
|
37
39
|
try_extern 'void grm_dump(const grm_args_t *args, FILE *f)'
|
38
40
|
try_extern 'void grm_dump_json(const grm_args_t *args, FILE *f)'
|
39
41
|
try_extern 'char *grm_dump_json_str(void)'
|
42
|
+
try_extern 'char *grm_dump_html(char *plot_id)'
|
43
|
+
try_extern 'char *grm_dump_html_args(char *plot_id, grm_args_t *args)'
|
44
|
+
try_extern 'void grm_dump_bson(const grm_args_t *args, FILE *f)'
|
40
45
|
|
41
46
|
# https://github.com/sciapp/gr/blob/master/lib/grm/include/grm/event.h
|
42
47
|
typealias 'grm_event_type_t', 'int' # enum
|
@@ -51,6 +56,7 @@ module GRM
|
|
51
56
|
try_extern 'grm_tooltip_info_t *grm_get_tooltip(int mouse_x, int mouse_y)'
|
52
57
|
try_extern 'grm_tooltip_info_t **grm_get_tooltips_x(int mouse_x, int mouse_y, unsigned int *array_length)'
|
53
58
|
try_extern 'grm_accumulated_tooltip_info_t *grm_get_accumulated_tooltip_x(int mouse_x, int mouse_y)'
|
59
|
+
try_extern 'int grm_get_hover_mode(int mouse_x, int mouse_y, int disable_movable_xform)'
|
54
60
|
|
55
61
|
# https://github.com/sciapp/gr/blob/master/lib/grm/include/grm/net.h
|
56
62
|
try_extern 'void *grm_open(int is_receiver, const char *name, unsigned int id, ' \
|
@@ -66,13 +72,30 @@ module GRM
|
|
66
72
|
# https://github.com/sciapp/gr/blob/master/lib/grm/include/grm/plot.h
|
67
73
|
try_extern 'void grm_finalize(void)'
|
68
74
|
try_extern 'int grm_clear(void)'
|
69
|
-
try_extern '
|
75
|
+
try_extern 'void grm_dump_graphics_tree(FILE *f)'
|
76
|
+
try_extern 'char *grm_dump_graphics_tree_str(void)'
|
77
|
+
try_extern 'unsigned int grm_max_plot_id(void)'
|
70
78
|
try_extern 'int grm_merge(const grm_args_t *args)'
|
71
79
|
try_extern 'int grm_merge_extended(const grm_args_t *args, int hold, const char *identificator)'
|
72
80
|
try_extern 'int grm_merge_hold(const grm_args_t *args)'
|
73
81
|
try_extern 'int grm_merge_named(const grm_args_t *args, const char *identificator)'
|
74
82
|
try_extern 'int grm_plot(const grm_args_t *args)'
|
83
|
+
try_extern 'int grm_render(void)'
|
84
|
+
try_extern 'int grm_process_tree(void)'
|
75
85
|
try_extern 'int grm_export(const char *file_path)'
|
76
86
|
try_extern 'int grm_switch(unsigned int id)'
|
87
|
+
try_extern 'int grm_load_graphics_tree(FILE *file)'
|
88
|
+
try_extern 'int grm_validate(void)'
|
89
|
+
# The following functions use C++ types that cannot be parsed by Fiddle
|
90
|
+
# try_extern 'std::shared_ptr<GRM::Element> grm_get_document_root(void)'
|
91
|
+
# try_extern 'std::shared_ptr<GRM::Render> grm_get_render(void)'
|
92
|
+
# try_extern 'int grm_iterate_grid(GRM::Grid *grid, const std::shared_ptr<GRM::Element> &parent_dom_element, int plot_id)'
|
93
|
+
# try_extern 'int grm_plot_helper(GRM::GridElement *grid_element, GRM::Slice *slice, const std::shared_ptr<GRM::Element> &parent_dom_element, int plot_id)'
|
94
|
+
# try_extern 'std::shared_ptr<GRM::Element> grm_get_subplot_from_ndc_point_using_dom(double x, double y)'
|
95
|
+
# try_extern 'std::shared_ptr<GRM::Element> grm_get_subplot_from_ndc_points_using_dom(unsigned int n, const double *x, const double *y)'
|
96
|
+
# try_extern 'void grm_set_attribute_on_all_subplots(std::string attribute, int value)'
|
97
|
+
# try_extern 'int grm_get_focus_and_factor_from_dom(const int x1, const int y1, const int x2, const int y2, const int keep_aspect_ratio, double *factor_x, double *factor_y, double *focus_x, double *focus_y, std::shared_ptr<GRM::Element> &subplot_element)'
|
98
|
+
# try_extern 'std::map<std::string, std::list<std::string>> grm_get_context_data()'
|
99
|
+
# try_extern 'std::shared_ptr<GRM::Document> grm_load_graphics_tree_schema(bool with_private_attributes = false)'
|
77
100
|
end
|
78
101
|
end
|
data/lib/grm.rb
CHANGED
@@ -61,6 +61,110 @@ module GRM
|
|
61
61
|
# a Fiddley::MemoryPointer in the GRBase class.
|
62
62
|
extend GRMBase
|
63
63
|
|
64
|
+
class Args
|
65
|
+
class << self
|
66
|
+
def try_convert(value)
|
67
|
+
case value
|
68
|
+
when Hash
|
69
|
+
new(**value)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
def initialize(**args)
|
75
|
+
@args = GRM.args_new
|
76
|
+
@args.free = FFI['grm_args_delete']
|
77
|
+
@references = []
|
78
|
+
args.each do |key, value|
|
79
|
+
push(key, value)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def push(key, value)
|
84
|
+
key = key.to_s if key.is_a?(Symbol)
|
85
|
+
case value
|
86
|
+
when String
|
87
|
+
GRM.args_push(@args, key, 's', :const_string, value)
|
88
|
+
when Integer
|
89
|
+
GRM.args_push(@args, key, 'i', :int, value)
|
90
|
+
when Float
|
91
|
+
GRM.args_push(@args, key, 'd', :double, value)
|
92
|
+
when Args
|
93
|
+
GRM.args_push(@args, key, 'a', :voidp, value.address)
|
94
|
+
value.to_gr.free = nil
|
95
|
+
when Array
|
96
|
+
case value[0]
|
97
|
+
when String
|
98
|
+
addresses = value.collect { |v| Fiddle::Pointer[v].to_i }
|
99
|
+
GRM.args_push(@args, key, 'nS',
|
100
|
+
:int, value.size,
|
101
|
+
:voidp, addresses.pack('J*'))
|
102
|
+
when Integer
|
103
|
+
GRM.args_push(@args, key, 'nI',
|
104
|
+
:int, value.size,
|
105
|
+
:voidp, value.pack('i*'))
|
106
|
+
when Float
|
107
|
+
GRM.args_push(@args, key, 'nD',
|
108
|
+
:int, value.size,
|
109
|
+
:voidp, value.pack('d*'))
|
110
|
+
when Args
|
111
|
+
GRM.args_push(@args, key, 'nA',
|
112
|
+
:int, value.size,
|
113
|
+
:voidp, value.collect(&:address).pack('J*'))
|
114
|
+
value.each do |v|
|
115
|
+
v.to_gr.free = nil
|
116
|
+
end
|
117
|
+
else
|
118
|
+
vs = value.collect { |v| Args.new(**v) }
|
119
|
+
@references.concat(vs)
|
120
|
+
GRM.args_push(@args, key, 'nA',
|
121
|
+
:int, value.size,
|
122
|
+
:voidp, vs.collect(&:address).pack('J*'))
|
123
|
+
vs.each do |v|
|
124
|
+
v.to_gr.free = nil
|
125
|
+
end
|
126
|
+
end
|
127
|
+
else
|
128
|
+
v = Args.new(**value)
|
129
|
+
@references << v
|
130
|
+
GRM.args_push(@args, key, 'a', :voidp, v.address)
|
131
|
+
v.to_gr.free = nil
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
def clear
|
136
|
+
GRM.args_clear(@args)
|
137
|
+
@references.clear
|
138
|
+
end
|
139
|
+
|
140
|
+
def address
|
141
|
+
@args.to_i
|
142
|
+
end
|
143
|
+
|
144
|
+
def to_gr
|
145
|
+
@args
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
64
149
|
class << self
|
150
|
+
def merge(args = nil)
|
151
|
+
super(Args.try_convert(args) || args)
|
152
|
+
end
|
153
|
+
|
154
|
+
def merge_extended(args = nil, hold = 0, _identifiator = nil)
|
155
|
+
super(Args.try_convert(args) || args, hold, identificator)
|
156
|
+
end
|
157
|
+
|
158
|
+
def merge_hold(args = nil)
|
159
|
+
super(Args.try_convert(args) || args)
|
160
|
+
end
|
161
|
+
|
162
|
+
def merge_named(args = nil, _identifiator = nil)
|
163
|
+
super(Args.try_convert(args) || args, identificator)
|
164
|
+
end
|
165
|
+
|
166
|
+
def plot(args = nil)
|
167
|
+
super(Args.try_convert(args) || args)
|
168
|
+
end
|
65
169
|
end
|
66
170
|
end
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-gr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.73.17.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- kojix2
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: fiddle
|
@@ -86,7 +85,6 @@ licenses:
|
|
86
85
|
- MIT
|
87
86
|
metadata:
|
88
87
|
msys2_mingw_dependencies: gr
|
89
|
-
post_install_message:
|
90
88
|
rdoc_options: []
|
91
89
|
require_paths:
|
92
90
|
- lib
|
@@ -101,8 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
99
|
- !ruby/object:Gem::Version
|
102
100
|
version: '0'
|
103
101
|
requirements: []
|
104
|
-
rubygems_version: 3.
|
105
|
-
signing_key:
|
102
|
+
rubygems_version: 3.7.1
|
106
103
|
specification_version: 4
|
107
104
|
summary: GR for Ruby
|
108
105
|
test_files: []
|