gir_ffi 0.17.0 → 0.18.0

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: 5d9166ab1e26f13ddc3aa9c5695fb67d4530491f56c01d1e78ad7648f5ea8583
4
- data.tar.gz: 5a2e96556fcd892f0cd143c51a21df6c18475950a166c90a994b38a33777281e
3
+ metadata.gz: 7a0a971b16d81d55e25b0944aaaf1ae8c28e8546a416b699902e7f254e5ae79d
4
+ data.tar.gz: 5ef09a4c0f0e2f3fbf9afc7c0de7878fa9e44e65a4808a5f0489119139dcc8b7
5
5
  SHA512:
6
- metadata.gz: f9252568631fc6355af2ee913e73fd363ccf04714c9702d93c6fc26119180046f4345232c66d47a93dcc872024f6a855a1d268b3eff23b49f18fd136d9ef5ef4
7
- data.tar.gz: e289ed1d545a09f5bb2d67a91101fd6cd7510a1a69e721f07f85fd82a352f4922316a3cf92b67a57216e8e203ec5f3232d60e7634e4c9509e6a65819f42a0dcb
6
+ metadata.gz: 35c6e4c0d8f99d790685fc7c4f3a7ad1dcd602696b204c52dc837cc361c7843e0b57887f06e3aca96c55d75e651dac26add7c677d01ddbe3ae275e91615c84fd
7
+ data.tar.gz: a516176df5475cdc56995c20c84f50bc906e9c3c299c577d3354d9059db07b1deb412a1902c9ca1bc07f43849524a5b93c3659fc6489e172b5b8f24f03aba4c2
data/Changelog.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.18.0 / 2025-02-07
4
+
5
+ * Update contribution guidelines ([#360] by [mvz])
6
+ * Support Ruby 3.1 through 3.4, dripping support for Ruby 3.0 ([#366] by [mvz])
7
+ * Load gobject-2.0 library in a way that does not require the dev package
8
+ ([#367] by [mvz])
9
+ * Update tests for compatibility with GObjectIntrospection 1.81.2 ([#378] by [mvz])
10
+
11
+ [#360]: https://github.com/mvz/gir_ffi/pull/360
12
+ [#366]: https://github.com/mvz/gir_ffi/pull/366
13
+ [#367]: https://github.com/mvz/gir_ffi/pull/367
14
+ [#378]: https://github.com/mvz/gir_ffi/pull/378
15
+
3
16
  ## 0.17.0 / 2023-12-31
4
17
 
5
18
  * Support Ruby 3.0 and up, dropping support for Ruby 2.7 ([#356] by [mvz])
@@ -7,8 +7,8 @@ module GLib
7
7
  class Bytes
8
8
  include Enumerable
9
9
 
10
- def each(&block)
11
- data.each(&block)
10
+ def each(&)
11
+ data.each(&)
12
12
  end
13
13
 
14
14
  def self.from(obj)
@@ -71,12 +71,12 @@ module GObject
71
71
  end
72
72
  end
73
73
 
74
- def signal_connect(event, data = nil, &block)
75
- GObject.signal_connect(self, event, data, &block)
74
+ def signal_connect(event, data = nil, &)
75
+ GObject.signal_connect(self, event, data, &)
76
76
  end
77
77
 
78
- def signal_connect_after(event, data = nil, &block)
79
- GObject.signal_connect_after(self, event, data, &block)
78
+ def signal_connect_after(event, data = nil, &)
79
+ GObject.signal_connect_after(self, event, data, &)
80
80
  end
81
81
 
82
82
  setup_instance_method! "get_property"
data/lib/ffi-gobject.rb CHANGED
@@ -60,8 +60,8 @@ module GObject
60
60
  signal_connect_closure object, detailed_signal, closure, after
61
61
  end
62
62
 
63
- def self.signal_connect_after(object, detailed_signal, data = nil, &block)
64
- signal_connect object, detailed_signal, data, true, &block
63
+ def self.signal_connect_after(object, detailed_signal, data = nil, &)
64
+ signal_connect(object, detailed_signal, data, true, &)
65
65
  end
66
66
 
67
67
  load_class :Callback
@@ -12,7 +12,7 @@ module GObjectIntrospection
12
12
  # Module for attaching g_type_init from the gobject library.
13
13
  module Lib
14
14
  extend FFI::Library
15
- ffi_lib "gobject-2.0"
15
+ ffi_lib "gobject-2.0.so.0"
16
16
  attach_function :g_type_init, [], :void
17
17
  end
18
18
  end
@@ -164,7 +164,7 @@ module GirFFI
164
164
  end
165
165
 
166
166
  def has_output_value?
167
- (direction == :inout || direction == :out) && !skipped_out?
167
+ [:inout, :out].include?(direction) && !skipped_out?
168
168
  end
169
169
 
170
170
  def has_input_value?
@@ -172,7 +172,7 @@ module GirFFI
172
172
  end
173
173
 
174
174
  def has_ingoing_component?
175
- direction == :inout || direction == :in
175
+ [:inout, :in].include?(direction)
176
176
  end
177
177
 
178
178
  def array_length_assignment
@@ -76,6 +76,7 @@ module GirFFI
76
76
  @base_argument_builders.each do |bldr|
77
77
  if (idx = bldr.closure_idx) >= 0
78
78
  target_bldr = @base_argument_builders[idx]
79
+ # NOTE: Only needed for GObjectIntrospection versions 1.67.1 through 1.80.1
79
80
  unless target_bldr.specialized_type_tag == :void
80
81
  target_bldr, bldr = bldr, target_bldr
81
82
  end
@@ -18,7 +18,7 @@ module GirFFI
18
18
  end
19
19
 
20
20
  def method_definition
21
- code = +"def #{qualified_method_name}"
21
+ code = "def #{qualified_method_name}"
22
22
  code << "(#{method_arguments.join(", ")})" if method_arguments.any?
23
23
  method_lines.each { |line| code << "\n #{line}" }
24
24
  code << "\nend\n"
@@ -21,24 +21,24 @@ module GirFFI
21
21
 
22
22
  def_delegators :@struct, :to_ptr
23
23
 
24
- def setup_and_call(method, arguments, &block)
24
+ def setup_and_call(method, arguments, &)
25
25
  method_name = self.class.try_in_ancestors(:setup_instance_method, method.to_s)
26
26
 
27
27
  raise NoMethodError, "undefined method `#{method}' for #{self}" unless method_name
28
28
 
29
- send method_name, *arguments, &block
29
+ send(method_name, *arguments, &)
30
30
  end
31
31
 
32
32
  def ==(other)
33
33
  other.class == self.class && to_ptr == other.to_ptr
34
34
  end
35
35
 
36
- def self.setup_and_call(method, arguments, &block)
36
+ def self.setup_and_call(method, arguments, &)
37
37
  method_name = try_in_ancestors(:setup_method, method.to_s)
38
38
 
39
39
  raise NoMethodError, "undefined method `#{method}' for #{self}" unless method_name
40
40
 
41
- send method_name, *arguments, &block
41
+ send(method_name, *arguments, &)
42
42
  end
43
43
 
44
44
  def self.try_in_ancestors(method, *arguments)
@@ -30,12 +30,12 @@ module GirFFI
30
30
  from_native pointer.get_int32(offset), nil
31
31
  end
32
32
 
33
- def setup_and_call(method, arguments, &block)
33
+ def setup_and_call(method, arguments, &)
34
34
  result = setup_method method.to_s
35
35
 
36
36
  raise "Unable to set up method #{method} in #{self}" unless result
37
37
 
38
- send method, *arguments, &block
38
+ send(method, *arguments, &)
39
39
  end
40
40
 
41
41
  def to_ffi_type
@@ -11,9 +11,9 @@ module GirFFI
11
11
  #
12
12
  # @return [GObject::RubyClosure] The signal handler closure, ready to be
13
13
  # passed as a GClosure to C.
14
- def wrap_in_closure(&block)
14
+ def wrap_in_closure(&)
15
15
  bldr = Builders::SignalClosureBuilder.new(self)
16
- bldr.build_class.new(&block)
16
+ bldr.build_class.new(&)
17
17
  end
18
18
 
19
19
  def arguments_to_gvalues(instance, arguments)
@@ -11,11 +11,11 @@ module GirFFI
11
11
  include MethodSetup
12
12
  include InstanceMethodSetup
13
13
 
14
- def setup_and_call(method, arguments, &block)
14
+ def setup_and_call(method, arguments, &)
15
15
  method_name = setup_method method.to_s
16
16
  raise NoMethodError, "undefined method `#{method}' for #{self}" unless method_name
17
17
 
18
- send method_name, *arguments, &block
18
+ send(method_name, *arguments, &)
19
19
  end
20
20
 
21
21
  # TODO: Unify with implementation in ObjectBase
@@ -14,8 +14,8 @@ module GirFFI
14
14
  GObject.signal_name signal_id
15
15
  end
16
16
 
17
- def wrap_in_closure(&block)
18
- GObject::RubyClosure.new(&block)
17
+ def wrap_in_closure(&)
18
+ GObject::RubyClosure.new(&)
19
19
  end
20
20
 
21
21
  def arguments_to_gvalues(instance, arguments)
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Current GirFFI version
4
4
  module GirFFI
5
- VERSION = "0.17.0"
5
+ VERSION = "0.18.0"
6
6
  end
@@ -8,7 +8,7 @@ module GObject
8
8
  extend FFI::Library
9
9
  extend FFI::BitMasks
10
10
 
11
- ffi_lib "gobject-2.0"
11
+ ffi_lib "gobject-2.0.so.0"
12
12
 
13
13
  attach_function :g_type_from_name, [:string], :size_t
14
14
  attach_function :g_type_fundamental, [:size_t], :size_t
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gir_ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matijs van Zuijlen
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-12-31 00:00:00.000000000 Z
10
+ date: 2025-02-07 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: ffi
@@ -58,6 +57,26 @@ dependencies:
58
57
  - - "~>"
59
58
  - !ruby/object:Gem::Version
60
59
  version: '2.0'
60
+ - !ruby/object:Gem::Dependency
61
+ name: cucumber
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '9.2'
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: 9.2.1
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '9.2'
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: 9.2.1
61
80
  - !ruby/object:Gem::Dependency
62
81
  name: minitest
63
82
  requirement: !ruby/object:Gem::Requirement
@@ -154,28 +173,28 @@ dependencies:
154
173
  requirements:
155
174
  - - "~>"
156
175
  - !ruby/object:Gem::Version
157
- version: '1.59'
176
+ version: '1.63'
158
177
  type: :development
159
178
  prerelease: false
160
179
  version_requirements: !ruby/object:Gem::Requirement
161
180
  requirements:
162
181
  - - "~>"
163
182
  - !ruby/object:Gem::Version
164
- version: '1.59'
183
+ version: '1.63'
165
184
  - !ruby/object:Gem::Dependency
166
185
  name: rubocop-minitest
167
186
  requirement: !ruby/object:Gem::Requirement
168
187
  requirements:
169
188
  - - "~>"
170
189
  - !ruby/object:Gem::Version
171
- version: 0.34.1
190
+ version: 0.36.0
172
191
  type: :development
173
192
  prerelease: false
174
193
  version_requirements: !ruby/object:Gem::Requirement
175
194
  requirements:
176
195
  - - "~>"
177
196
  - !ruby/object:Gem::Version
178
- version: 0.34.1
197
+ version: 0.36.0
179
198
  - !ruby/object:Gem::Dependency
180
199
  name: rubocop-packaging
181
200
  requirement: !ruby/object:Gem::Requirement
@@ -423,7 +442,6 @@ metadata:
423
442
  source_code_uri: https://github.com/mvz/gir_ffi
424
443
  changelog_uri: https://github.com/mvz/gir_ffi/blob/master/Changelog.md
425
444
  rubygems_mfa_required: 'true'
426
- post_install_message:
427
445
  rdoc_options:
428
446
  - "--main"
429
447
  - README.md
@@ -433,15 +451,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
433
451
  requirements:
434
452
  - - ">="
435
453
  - !ruby/object:Gem::Version
436
- version: 3.0.0
454
+ version: 3.1.0
437
455
  required_rubygems_version: !ruby/object:Gem::Requirement
438
456
  requirements:
439
457
  - - ">="
440
458
  - !ruby/object:Gem::Version
441
459
  version: '0'
442
460
  requirements: []
443
- rubygems_version: 3.5.3
444
- signing_key:
461
+ rubygems_version: 3.6.2
445
462
  specification_version: 4
446
463
  summary: FFI-based GObject binding using the GObject Introspection Repository
447
464
  test_files: []