gobject-introspection 4.1.2 → 4.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eff07e185f0759ccd823df31493a4b7f3012fe045f14eb1edac2315cd657ef23
4
- data.tar.gz: 67cb2d6f667aa0255ab581eaae1d4fb6d85a736c8c7544c6caccff271b6168f1
3
+ metadata.gz: 5ad7749030322309d66cdd613d61540c2ac1e5b749c6b3df462c190648ec5a23
4
+ data.tar.gz: 11925d808602b94209daeaee2e4779575ec9e06f012e266b0dd62ba692f9ba1d
5
5
  SHA512:
6
- metadata.gz: be4e95844ad869d782590a6a978947d429b704a054d06a63810d2e2ad4a3daf9e8511f25c1dff60f4d31197c69d84df36db6afe1aaeba3dbf81d9e9ecea7de7b
7
- data.tar.gz: 608d5dffeb78e04770b721982fcc83d78a5c8742d912f9800b09b6a4d03ad007485f7ea8b6d5e92f04cfb5520f8fedc9093ec52e606489c4e3e9d02cc6ff29bf
6
+ metadata.gz: c61f9795ce3570ae8d351a64936ad3c8e141b6d2d1e3980f8074258f1ff1c149908793146d3bba48778d5b82863a872871b44e28087d2809b29f6cec2bfd9e3b
7
+ data.tar.gz: 15a4468d50ae854f71d1d442041c78687010c8bf0e580e5627e9aceb1499e973828f1f9136b8828599f32af6ad2f012caa91d6a5192b74ef284d9e5973b802b7
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2012-2021 Ruby-GNOME Project Team
1
+ # Copyright (C) 2012-2023 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
@@ -82,14 +82,14 @@ module GObjectIntrospection
82
82
 
83
83
  def load_function_info(info)
84
84
  name = rubyish_method_name(info)
85
- define_singleton_method(@base_module, name, info)
85
+ define_singleton_method(info, @base_module, name)
86
86
  end
87
87
 
88
88
  def load_function_info_singleton_method(info, klass, method_name)
89
- define_singleton_method(klass, method_name, info)
89
+ define_singleton_method(info, klass, method_name)
90
90
  end
91
91
 
92
- def define_module_function(target_module, name, function_info)
92
+ def define_module_function(function_info, target_module, name)
93
93
  prepare_function_info_lock_gvl(function_info, target_module)
94
94
  full_method_name = "#{target_module}\#.#{name}"
95
95
  invoker = Invoker.new(function_info, name, full_method_name)
@@ -102,7 +102,7 @@ module GObjectIntrospection
102
102
  DEFINE_METHOD
103
103
  end
104
104
 
105
- def define_singleton_method(klass, name, info)
105
+ def define_singleton_method(info, klass, name)
106
106
  prepare_function_info_lock_gvl(info, klass)
107
107
  invoker = Invoker.new(info, name, "#{klass}.#{name}")
108
108
  singleton_class = klass.singleton_class
@@ -142,11 +142,12 @@ module GObjectIntrospection
142
142
  unless method_infos.empty?
143
143
  base_class = @base_module.const_get(base_class_name)
144
144
  singleton_class = base_class.singleton_class
145
- invokers = singleton_class::INVOKERS.dup
145
+ invokers = singleton_class.const_get(:INVOKERS).dup
146
146
  singleton_class.__send__(:remove_const, :INVOKERS)
147
147
  singleton_class.const_set(:INVOKERS, invokers)
148
148
  load_methods_method(method_infos, singleton_class)
149
149
  Ractor.make_shareable(singleton_class::INVOKERS) if defined?(Ractor)
150
+ singleton_class.private_constant(:INVOKERS)
150
151
  end
151
152
  else
152
153
  return if info.gtype_struct?
@@ -177,9 +178,12 @@ module GObjectIntrospection
177
178
  def define_enum(info)
178
179
  # TODO: Can we do the same things for flags on NONE GType?
179
180
  return if info.gtype == GLib::Type::NONE
180
- self.class.define_class(info.gtype,
181
- rubyish_class_name(info),
182
- @base_module)
181
+ klass = self.class.define_class(info.gtype,
182
+ rubyish_class_name(info),
183
+ @base_module)
184
+ prepare_class(klass) do
185
+ load_methods(info, klass)
186
+ end
183
187
  end
184
188
 
185
189
  def define_error(info)
@@ -222,7 +226,12 @@ module GObjectIntrospection
222
226
  end
223
227
  @base_module.const_set(rubyish_class_name(info), flags_module)
224
228
  else
225
- self.class.define_class(info.gtype, flags_class_name(info), @base_module)
229
+ klass = self.class.define_class(info.gtype,
230
+ flags_class_name(info),
231
+ @base_module)
232
+ prepare_class(klass) do
233
+ load_methods(info, klass)
234
+ end
226
235
  end
227
236
  end
228
237
 
@@ -479,7 +488,11 @@ module GObjectIntrospection
479
488
  name
480
489
  end
481
490
  when "to_string"
482
- "to_s"
491
+ if n_in_args.zero?
492
+ "to_s"
493
+ else
494
+ name
495
+ end
483
496
  when "to_integer"
484
497
  "to_i"
485
498
  when "foreach"
@@ -633,6 +646,8 @@ module GObjectIntrospection
633
646
  return unless defined?(Ractor)
634
647
  Ractor.make_shareable(klass::INVOKERS)
635
648
  Ractor.make_shareable(klass.singleton_class::INVOKERS)
649
+ klass.private_constant(:INVOKERS)
650
+ klass.singleton_class.private_constant(:INVOKERS)
636
651
  end
637
652
 
638
653
  def define_methods_module(name)
@@ -650,6 +665,7 @@ module GObjectIntrospection
650
665
  def post_methods_module(mod)
651
666
  return unless defined?(Ractor)
652
667
  Ractor.make_shareable(mod::INVOKERS)
668
+ mod.private_constant(:INVOKERS)
653
669
  end
654
670
 
655
671
  class Invoker
@@ -756,9 +772,9 @@ module GObjectIntrospection
756
772
  end
757
773
 
758
774
  n_missing_arguments = @n_in_args - arguments.size
759
- if 0 < n_missing_arguments
760
- @in_arg_nil_indexes.each_with_index do |nil_index, i|
761
- next if i <= n_missing_arguments
775
+ n_in_arg_nil_indexes = @in_arg_nil_indexes.size
776
+ if 0 < n_missing_arguments and n_missing_arguments < n_in_arg_nil_indexes
777
+ @in_arg_nil_indexes[-n_missing_arguments..-1].each do |nil_index|
762
778
  arguments.insert(nil_index, nil)
763
779
  end
764
780
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gobject-introspection
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.2
4
+ version: 4.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Ruby-GNOME Project Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-24 00:00:00.000000000 Z
11
+ date: 2023-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: glib2
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 4.1.2
19
+ version: 4.1.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 4.1.2
26
+ version: 4.1.4
27
27
  description: Ruby/GObjectIntrospection provides bindings of GObject Introspection
28
28
  and a loader module that can generate dynamically Ruby bindings of any GObject C
29
29
  libraries