gir_ffi 0.15.6 → 0.15.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 666da2b23f02fadc3172e473ea267f3d81280e6377943426c8f89e7258391ed4
4
- data.tar.gz: f19dd857e24269b43109ea8ffa407de64d47531acf00f1104971db171c64bcf6
3
+ metadata.gz: ce8934650d918851ad4a5eee0c37f66025c0c5292aa7f556494998741f415de8
4
+ data.tar.gz: dd13f22a5ca8a3f9d3783827152b402a70f4b096a1443658c967254387bd4379
5
5
  SHA512:
6
- metadata.gz: 4f711ebd41bfedb31e496268b125bf3079f373582b5ac0acbe25938701ceeb42ec98cdbe118a735119f6fafc43357b5d0ba2e52ed8e957e65090669d18d2f692
7
- data.tar.gz: e415f33719d96705bfba9e6181123facec99131685613ee8cb753178c9ce3af655e6978e55e55b3435e71c12c744a94200468df9b606bb27f1feac67990cf3a0
6
+ metadata.gz: 6fc02f1d258f98957da87ad2573db3c5300c5652e58cff69cf82ad00c8dcdf410cbad257a2def7c8b2803dc23caa96a33e0178e57f9a123d4f2b79410ff6ec8e
7
+ data.tar.gz: ba8168148f9a8d3cab2d462096734596d8785e5bb2531b825e38073cbda750d5504fb2b0ec3fa191debad560da98b8d2ca9d8c09836481bfb078ebaf149f1649
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.15.7 / 2021-01-15
4
+
5
+ * Handle sized arrays with interface element types
6
+
3
7
  ## 0.15.6 / 2021-01-10
4
8
 
5
9
  * Officially support Ruby 3.0
@@ -18,7 +18,7 @@ module GirFFI
18
18
  bare_value.to_utf8
19
19
  when Array
20
20
  value_type[1].wrap bare_value
21
- when Class
21
+ when Module
22
22
  value_type.wrap bare_value
23
23
  else
24
24
  bare_value
@@ -77,9 +77,10 @@ module GirFFI
77
77
  def from_module_type_array(type, ary)
78
78
  if type == GObject::Value
79
79
  from_gvalue_array type, ary
80
- elsif type < GirFFI::ClassBase
80
+ elsif type < GirFFI::ClassBase ||
81
+ type.singleton_class < GirFFI::InterfaceBase
81
82
  from_struct_array type, ary
82
- elsif type.singleton_class.include? GirFFI::EnumBase
83
+ elsif type.singleton_class < GirFFI::EnumBase
83
84
  from_enum_array type, ary
84
85
  else
85
86
  raise NotImplementedError, type
@@ -18,6 +18,11 @@ module GirFFI
18
18
  send method_name, *arguments, &block
19
19
  end
20
20
 
21
+ # TODO: Unify with implementation in ObjectBase
22
+ def copy_value_to_pointer(value, pointer, offset = 0)
23
+ pointer.put_pointer offset, value.to_ptr
24
+ end
25
+
21
26
  def wrap(ptr)
22
27
  ptr.to_object
23
28
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Current GirFFI version
4
4
  module GirFFI
5
- VERSION = "0.15.6"
5
+ VERSION = "0.15.7"
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gir_ffi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.6
4
+ version: 0.15.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matijs van Zuijlen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-10 00:00:00.000000000 Z
11
+ date: 2021-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi