gir_ffi 0.14.1 → 0.15.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.
Files changed (263) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +21 -0
  3. data/Gemfile +6 -4
  4. data/README.md +4 -4
  5. data/Rakefile +5 -5
  6. data/lib/ffi-glib/array.rb +14 -4
  7. data/lib/ffi-glib/byte_array.rb +7 -2
  8. data/lib/ffi-glib/container_class_methods.rb +1 -1
  9. data/lib/ffi-glib/error.rb +1 -1
  10. data/lib/ffi-glib/hash_table.rb +3 -3
  11. data/lib/ffi-glib/list.rb +1 -1
  12. data/lib/ffi-glib/list_methods.rb +1 -1
  13. data/lib/ffi-glib/main_loop.rb +3 -3
  14. data/lib/ffi-glib/ptr_array.rb +30 -8
  15. data/lib/ffi-glib/s_list.rb +1 -1
  16. data/lib/ffi-glib/variant.rb +1 -1
  17. data/lib/ffi-glib.rb +16 -16
  18. data/lib/ffi-gobject/object.rb +23 -32
  19. data/lib/ffi-gobject/param_spec.rb +1 -1
  20. data/lib/ffi-gobject/ruby_closure.rb +2 -2
  21. data/lib/ffi-gobject/value.rb +37 -28
  22. data/lib/ffi-gobject.rb +13 -13
  23. data/lib/ffi-gobject_introspection/gobject_type_init.rb +2 -2
  24. data/lib/ffi-gobject_introspection/i_arg_info.rb +2 -2
  25. data/lib/ffi-gobject_introspection/i_base_info.rb +27 -17
  26. data/lib/ffi-gobject_introspection/i_callable_info.rb +4 -4
  27. data/lib/ffi-gobject_introspection/i_constant_info.rb +2 -2
  28. data/lib/ffi-gobject_introspection/i_enum_info.rb +1 -0
  29. data/lib/ffi-gobject_introspection/i_field_info.rb +1 -1
  30. data/lib/ffi-gobject_introspection/i_function_info.rb +1 -1
  31. data/lib/ffi-gobject_introspection/i_interface_info.rb +1 -1
  32. data/lib/ffi-gobject_introspection/i_object_info.rb +2 -2
  33. data/lib/ffi-gobject_introspection/i_property_info.rb +2 -2
  34. data/lib/ffi-gobject_introspection/i_repository.rb +9 -6
  35. data/lib/ffi-gobject_introspection/i_struct_info.rb +2 -1
  36. data/lib/ffi-gobject_introspection/i_type_info.rb +13 -7
  37. data/lib/ffi-gobject_introspection/i_unresolved_info.rb +1 -1
  38. data/lib/ffi-gobject_introspection/i_vfunc_info.rb +1 -1
  39. data/lib/ffi-gobject_introspection/lib.rb +30 -19
  40. data/lib/ffi-gobject_introspection/strv.rb +1 -1
  41. data/lib/ffi-gobject_introspection.rb +20 -20
  42. data/lib/gir_ffi/allocation_helper.rb +1 -1
  43. data/lib/gir_ffi/arg_helper.rb +4 -4
  44. data/lib/gir_ffi/{in_out_pointer.rb → array_element_convertor.rb} +16 -23
  45. data/lib/gir_ffi/boolean.rb +1 -1
  46. data/lib/gir_ffi/boxed_base.rb +1 -1
  47. data/lib/gir_ffi/builder.rb +18 -10
  48. data/lib/gir_ffi/builders/argument_builder.rb +17 -17
  49. data/lib/gir_ffi/builders/base_argument_builder.rb +1 -0
  50. data/lib/gir_ffi/builders/base_method_builder.rb +7 -7
  51. data/lib/gir_ffi/builders/base_return_value_builder.rb +1 -1
  52. data/lib/gir_ffi/builders/base_type_builder.rb +1 -1
  53. data/lib/gir_ffi/builders/c_to_ruby_convertor.rb +5 -5
  54. data/lib/gir_ffi/builders/callback_argument_builder.rb +8 -8
  55. data/lib/gir_ffi/builders/callback_builder.rb +3 -3
  56. data/lib/gir_ffi/builders/callback_return_value_builder.rb +2 -2
  57. data/lib/gir_ffi/builders/closure_argument_builder.rb +1 -1
  58. data/lib/gir_ffi/builders/closure_return_value_builder.rb +1 -1
  59. data/lib/gir_ffi/builders/constant_builder.rb +1 -1
  60. data/lib/gir_ffi/builders/constructor_builder.rb +9 -9
  61. data/lib/gir_ffi/builders/enum_builder.rb +2 -2
  62. data/lib/gir_ffi/builders/field_builder.rb +16 -15
  63. data/lib/gir_ffi/builders/flags_builder.rb +2 -2
  64. data/lib/gir_ffi/builders/full_c_to_ruby_convertor.rb +1 -1
  65. data/lib/gir_ffi/builders/function_builder.rb +11 -5
  66. data/lib/gir_ffi/builders/initializer_builder.rb +3 -3
  67. data/lib/gir_ffi/builders/initializer_return_value_builder.rb +2 -2
  68. data/lib/gir_ffi/builders/interface_builder.rb +2 -2
  69. data/lib/gir_ffi/builders/mapping_method_builder.rb +9 -9
  70. data/lib/gir_ffi/builders/marshalling_method_builder.rb +7 -7
  71. data/lib/gir_ffi/builders/method_template.rb +1 -1
  72. data/lib/gir_ffi/builders/module_builder.rb +4 -6
  73. data/lib/gir_ffi/builders/object_builder.rb +6 -6
  74. data/lib/gir_ffi/builders/property_argument_builder.rb +1 -1
  75. data/lib/gir_ffi/builders/property_builder.rb +13 -12
  76. data/lib/gir_ffi/builders/property_return_value_builder.rb +1 -1
  77. data/lib/gir_ffi/builders/registered_type_builder.rb +14 -5
  78. data/lib/gir_ffi/builders/return_value_builder.rb +4 -4
  79. data/lib/gir_ffi/builders/ruby_to_c_convertor.rb +6 -6
  80. data/lib/gir_ffi/builders/signal_closure_builder.rb +2 -2
  81. data/lib/gir_ffi/builders/struct_builder.rb +4 -4
  82. data/lib/gir_ffi/builders/struct_like.rb +1 -1
  83. data/lib/gir_ffi/builders/type_builder.rb +12 -12
  84. data/lib/gir_ffi/builders/unintrospectable_boxed_builder.rb +2 -2
  85. data/lib/gir_ffi/builders/unintrospectable_builder.rb +2 -2
  86. data/lib/gir_ffi/builders/union_builder.rb +4 -4
  87. data/lib/gir_ffi/builders/user_defined_builder.rb +2 -2
  88. data/lib/gir_ffi/builders/vfunc_argument_builder.rb +1 -1
  89. data/lib/gir_ffi/builders/vfunc_builder.rb +6 -6
  90. data/lib/gir_ffi/builders/with_layout.rb +2 -2
  91. data/lib/gir_ffi/callback_base.rb +1 -1
  92. data/lib/gir_ffi/class_base.rb +5 -5
  93. data/lib/gir_ffi/core.rb +19 -20
  94. data/lib/gir_ffi/enum_base.rb +1 -1
  95. data/lib/gir_ffi/enum_like_base.rb +2 -2
  96. data/lib/gir_ffi/error_argument_info.rb +2 -2
  97. data/lib/gir_ffi/error_type_info.rb +1 -1
  98. data/lib/gir_ffi/ffi_ext/pointer.rb +1 -1
  99. data/lib/gir_ffi/ffi_ext.rb +1 -1
  100. data/lib/gir_ffi/flags_base.rb +1 -1
  101. data/lib/gir_ffi/in_pointer.rb +10 -0
  102. data/lib/gir_ffi/info_ext/full_type_name.rb +3 -3
  103. data/lib/gir_ffi/info_ext/i_arg_info.rb +1 -1
  104. data/lib/gir_ffi/info_ext/i_callable_info.rb +1 -1
  105. data/lib/gir_ffi/info_ext/i_callback_info.rb +1 -1
  106. data/lib/gir_ffi/info_ext/i_field_info.rb +1 -1
  107. data/lib/gir_ffi/info_ext/i_function_info.rb +1 -1
  108. data/lib/gir_ffi/info_ext/i_property_info.rb +2 -2
  109. data/lib/gir_ffi/info_ext/i_registered_type_info.rb +4 -5
  110. data/lib/gir_ffi/info_ext/i_signal_info.rb +7 -3
  111. data/lib/gir_ffi/info_ext/i_type_info.rb +48 -26
  112. data/lib/gir_ffi/info_ext/i_unresolved_info.rb +1 -1
  113. data/lib/gir_ffi/info_ext/i_value_info.rb +2 -2
  114. data/lib/gir_ffi/info_ext/i_vfunc_info.rb +2 -2
  115. data/lib/gir_ffi/info_ext/safe_constant_name.rb +8 -8
  116. data/lib/gir_ffi/info_ext/safe_function_name.rb +2 -2
  117. data/lib/gir_ffi/info_ext.rb +15 -15
  118. data/lib/gir_ffi/interface_base.rb +3 -3
  119. data/lib/gir_ffi/lib_c.rb +1 -1
  120. data/lib/gir_ffi/method_stubber.rb +1 -1
  121. data/lib/gir_ffi/module_base.rb +1 -1
  122. data/lib/gir_ffi/object_base.rb +3 -4
  123. data/lib/gir_ffi/receiver_argument_info.rb +1 -1
  124. data/lib/gir_ffi/receiver_type_info.rb +2 -2
  125. data/lib/gir_ffi/registered_type_base.rb +1 -1
  126. data/lib/gir_ffi/sized_array.rb +4 -2
  127. data/lib/gir_ffi/struct.rb +1 -1
  128. data/lib/gir_ffi/struct_base.rb +1 -1
  129. data/lib/gir_ffi/type_map.rb +2 -23
  130. data/lib/gir_ffi/unintrospectable_boxed_info.rb +2 -2
  131. data/lib/gir_ffi/unintrospectable_type_info.rb +1 -1
  132. data/lib/gir_ffi/union.rb +1 -1
  133. data/lib/gir_ffi/union_base.rb +1 -1
  134. data/lib/gir_ffi/user_defined_object_info.rb +6 -2
  135. data/lib/gir_ffi/user_defined_property_info.rb +33 -33
  136. data/lib/gir_ffi/version.rb +1 -1
  137. data/lib/gir_ffi-base/gobject/lib.rb +3 -2
  138. data/lib/gir_ffi-base/gobject.rb +26 -25
  139. data/lib/gir_ffi-base.rb +1 -1
  140. data/lib/gir_ffi.rb +3 -3
  141. data/tasks/test.rake +3 -2
  142. data/test/base_test_helper.rb +16 -9
  143. data/test/ffi-glib/array_test.rb +71 -56
  144. data/test/ffi-glib/byte_array_test.rb +13 -7
  145. data/test/ffi-glib/bytes_test.rb +24 -19
  146. data/test/ffi-glib/closure_test.rb +11 -11
  147. data/test/ffi-glib/destroy_notify_test.rb +6 -6
  148. data/test/ffi-glib/hash_table_test.rb +27 -27
  149. data/test/ffi-glib/list_test.rb +22 -22
  150. data/test/ffi-glib/main_loop_test.rb +12 -12
  151. data/test/ffi-glib/ptr_array_test.rb +39 -39
  152. data/test/ffi-glib/ruby_closure_test.rb +10 -10
  153. data/test/ffi-glib/s_list_test.rb +20 -20
  154. data/test/ffi-glib/strv_test.rb +19 -19
  155. data/test/ffi-glib/variant_test.rb +5 -5
  156. data/test/ffi-gobject/gobject_test.rb +48 -44
  157. data/test/ffi-gobject/object_class_test.rb +8 -8
  158. data/test/ffi-gobject/object_test.rb +49 -67
  159. data/test/ffi-gobject/param_spec_test.rb +12 -12
  160. data/test/ffi-gobject/value_test.rb +145 -125
  161. data/test/ffi-gobject_introspection/gobject_type_init_test.rb +8 -8
  162. data/test/ffi-gobject_introspection/i_base_info_test.rb +15 -16
  163. data/test/ffi-gobject_introspection/i_constant_info_test.rb +9 -13
  164. data/test/ffi-gobject_introspection/i_enum_info_test.rb +7 -7
  165. data/test/ffi-gobject_introspection/i_function_info_test.rb +1 -1
  166. data/test/ffi-gobject_introspection/i_interface_info_test.rb +10 -10
  167. data/test/ffi-gobject_introspection/i_object_info_test.rb +23 -23
  168. data/test/ffi-gobject_introspection/i_property_info_test.rb +19 -19
  169. data/test/ffi-gobject_introspection/i_registered_type_info_test.rb +10 -10
  170. data/test/ffi-gobject_introspection/i_repository_test.rb +31 -31
  171. data/test/ffi-gobject_introspection/i_struct_info_test.rb +10 -10
  172. data/test/ffi-gobject_introspection/i_type_info_test.rb +12 -15
  173. data/test/ffi-gobject_introspection/i_union_info_test.rb +7 -7
  174. data/test/ffi-gobject_introspection/i_vfunc_info_test.rb +16 -16
  175. data/test/ffi-gobject_introspection/lib_test.rb +3 -3
  176. data/test/ffi-gobject_introspection/strv_test.rb +9 -9
  177. data/test/ffi-gobject_test.rb +44 -44
  178. data/test/gir_ffi/allocation_helper_test.rb +13 -13
  179. data/test/gir_ffi/arg_helper_test.rb +63 -64
  180. data/test/gir_ffi/boolean_test.rb +20 -20
  181. data/test/gir_ffi/boxed_base_test.rb +18 -18
  182. data/test/gir_ffi/builder_test.rb +115 -93
  183. data/test/gir_ffi/builders/argument_builder_test.rb +280 -286
  184. data/test/gir_ffi/builders/base_argument_builder_test.rb +1 -1
  185. data/test/gir_ffi/builders/callback_argument_builder_test.rb +53 -56
  186. data/test/gir_ffi/builders/callback_builder_test.rb +71 -72
  187. data/test/gir_ffi/builders/callback_return_value_builder_test.rb +36 -40
  188. data/test/gir_ffi/builders/constant_builder_test.rb +1 -1
  189. data/test/gir_ffi/builders/constructor_builder_test.rb +10 -10
  190. data/test/gir_ffi/builders/enum_builder_test.rb +10 -10
  191. data/test/gir_ffi/builders/field_builder_test.rb +42 -42
  192. data/test/gir_ffi/builders/function_builder_test.rb +236 -224
  193. data/test/gir_ffi/builders/initializer_builder_test.rb +14 -14
  194. data/test/gir_ffi/builders/interface_builder_test.rb +9 -9
  195. data/test/gir_ffi/builders/module_builder_test.rb +18 -18
  196. data/test/gir_ffi/builders/object_builder_test.rb +38 -38
  197. data/test/gir_ffi/builders/property_builder_test.rb +91 -94
  198. data/test/gir_ffi/builders/registered_type_builder_test.rb +35 -11
  199. data/test/gir_ffi/builders/return_value_builder_test.rb +215 -222
  200. data/test/gir_ffi/builders/signal_closure_builder_test.rb +122 -113
  201. data/test/gir_ffi/builders/struct_builder_test.rb +32 -32
  202. data/test/gir_ffi/builders/unintrospectable_boxed_builder_test.rb +8 -14
  203. data/test/gir_ffi/builders/unintrospectable_builder_test.rb +23 -23
  204. data/test/gir_ffi/builders/union_builder_test.rb +12 -15
  205. data/test/gir_ffi/builders/user_defined_builder_test.rb +147 -147
  206. data/test/gir_ffi/builders/vfunc_argument_builder_test.rb +40 -40
  207. data/test/gir_ffi/builders/vfunc_builder_test.rb +145 -157
  208. data/test/gir_ffi/callback_base_test.rb +9 -9
  209. data/test/gir_ffi/class_base_test.rb +49 -51
  210. data/test/gir_ffi/core_test.rb +32 -32
  211. data/test/gir_ffi/enum_base_test.rb +19 -19
  212. data/test/gir_ffi/error_type_info_test.rb +23 -23
  213. data/test/gir_ffi/ffi_ext/pointer_test.rb +5 -5
  214. data/test/gir_ffi/g_type_test.rb +11 -11
  215. data/test/gir_ffi/in_pointer_test.rb +70 -50
  216. data/test/gir_ffi/info_ext/i_callable_info_test.rb +5 -5
  217. data/test/gir_ffi/info_ext/i_callback_info_test.rb +4 -4
  218. data/test/gir_ffi/info_ext/i_field_info_test.rb +6 -6
  219. data/test/gir_ffi/info_ext/i_function_info_test.rb +17 -17
  220. data/test/gir_ffi/info_ext/i_signal_info_test.rb +8 -8
  221. data/test/gir_ffi/info_ext/i_type_info_test.rb +229 -215
  222. data/test/gir_ffi/info_ext/i_unresolved_info_test.rb +4 -4
  223. data/test/gir_ffi/info_ext/safe_constant_name_test.rb +8 -8
  224. data/test/gir_ffi/info_ext/safe_function_name_test.rb +8 -8
  225. data/test/gir_ffi/interface_base_test.rb +8 -8
  226. data/test/gir_ffi/method_stubber_test.rb +19 -19
  227. data/test/gir_ffi/object_base_test.rb +19 -19
  228. data/test/gir_ffi/object_store_test.rb +13 -13
  229. data/test/gir_ffi/receiver_argument_info_test.rb +15 -15
  230. data/test/gir_ffi/sized_array_test.rb +68 -68
  231. data/test/gir_ffi/struct_base_test.rb +8 -8
  232. data/test/gir_ffi/struct_like_base_test.rb +64 -64
  233. data/test/gir_ffi/type_map_test.rb +6 -6
  234. data/test/gir_ffi/unintrospectable_type_info_test.rb +33 -33
  235. data/test/gir_ffi/union_base_test.rb +8 -8
  236. data/test/gir_ffi/user_defined_object_info_test.rb +34 -34
  237. data/test/gir_ffi/user_defined_property_info_test.rb +16 -16
  238. data/test/gir_ffi/variable_name_generator_test.rb +8 -8
  239. data/test/gir_ffi/version_test.rb +4 -4
  240. data/test/gir_ffi/zero_terminated_test.rb +34 -34
  241. data/test/gir_ffi_test_helper.rb +3 -3
  242. data/test/integration/callback_exceptions_test.rb +17 -21
  243. data/test/integration/derived_classes_test.rb +13 -13
  244. data/test/integration/generated_everything_test.rb +224 -224
  245. data/test/integration/generated_gimarshallingtests_test.rb +1118 -1017
  246. data/test/integration/generated_gio_test.rb +36 -36
  247. data/test/integration/generated_glib_test.rb +4 -6
  248. data/test/integration/generated_gobject_test.rb +43 -35
  249. data/test/integration/generated_gst_test.rb +16 -16
  250. data/test/integration/generated_gtk_source_test.rb +22 -17
  251. data/test/integration/generated_gtop_test.rb +8 -15
  252. data/test/integration/generated_pango_ft2_test.rb +2 -2
  253. data/test/integration/generated_pango_test.rb +4 -4
  254. data/test/integration/generated_regress_test.rb +1809 -1621
  255. data/test/integration/generated_secret_test.rb +8 -11
  256. data/test/integration/generated_utility_test.rb +81 -81
  257. data/test/integration/generated_warnlib_test.rb +13 -19
  258. data/test/integration/method_lookup_test.rb +6 -6
  259. data/test/introspection_test_helper.rb +48 -7
  260. data/test/minitest/stats_plugin.rb +1 -1
  261. metadata +11 -28
  262. data/lib/ffi-glib/array_methods.rb +0 -16
  263. data/test/gir_ffi/in_out_pointer_test.rb +0 -56
@@ -68,7 +68,7 @@ module GirFFI
68
68
 
69
69
  def result_name_list
70
70
  @result_name_list ||=
71
- @argument_builder_collection.capture_variable_names.join(', ')
71
+ @argument_builder_collection.capture_variable_names.join(", ")
72
72
  end
73
73
 
74
74
  def capturing_invocation
@@ -1,10 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builder_helper'
4
- require 'gir_ffi/module_base'
5
- require 'gir_ffi/builders/function_builder'
6
-
7
- require 'indentation'
3
+ require "gir_ffi/builder_helper"
4
+ require "gir_ffi/module_base"
5
+ require "gir_ffi/builders/function_builder"
8
6
 
9
7
  module GirFFI
10
8
  module Builders
@@ -68,7 +66,7 @@ module GirFFI
68
66
  def build_dependencies
69
67
  deps = gir.dependencies @namespace
70
68
  deps.each do |dep|
71
- name, version = dep.split '-'
69
+ name, version = dep.split "-"
72
70
  Builder.build_module name, version
73
71
  end
74
72
  end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/registered_type_builder'
4
- require 'gir_ffi/builders/with_layout'
5
- require 'gir_ffi/builders/property_builder'
6
- require 'gir_ffi/object_base'
7
- require 'gir_ffi/struct'
3
+ require "gir_ffi/builders/registered_type_builder"
4
+ require "gir_ffi/builders/with_layout"
5
+ require "gir_ffi/builders/property_builder"
6
+ require "gir_ffi/object_base"
7
+ require "gir_ffi/struct"
8
8
 
9
9
  module GirFFI
10
10
  module Builders
@@ -114,7 +114,7 @@ module GirFFI
114
114
  end
115
115
 
116
116
  def setup_initializer
117
- return if info.find_method 'new'
117
+ return if info.find_method "new"
118
118
 
119
119
  if info.abstract?
120
120
  define_abstract_initializer
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/base_argument_builder'
3
+ require "gir_ffi/builders/base_argument_builder"
4
4
 
5
5
  module GirFFI
6
6
  module Builders
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/method_template'
4
- require 'gir_ffi/builders/argument_builder_collection'
5
- require 'gir_ffi/builders/property_argument_builder'
6
- require 'gir_ffi/builders/property_return_value_builder'
7
- require 'gir_ffi/variable_name_generator'
8
- require 'gir_ffi/field_argument_info'
3
+ require "gir_ffi/builders/method_template"
4
+ require "gir_ffi/builders/argument_builder_collection"
5
+ require "gir_ffi/builders/property_argument_builder"
6
+ require "gir_ffi/builders/property_return_value_builder"
7
+ require "gir_ffi/variable_name_generator"
8
+ require "gir_ffi/field_argument_info"
9
9
 
10
10
  module GirFFI
11
11
  module Builders
@@ -101,11 +101,11 @@ module GirFFI
101
101
  end
102
102
 
103
103
  def converting_setter_def
104
- <<-CODE.reset_indentation
105
- def #{setter_name} value
106
- #{setter_builder.pre_conversion.join("\n")}
107
- set_property("#{property_name}", #{setter_builder.call_argument_name})
108
- end
104
+ <<~CODE
105
+ def #{setter_name} value
106
+ #{setter_builder.pre_conversion.join("\n")}
107
+ set_property("#{property_name}", #{setter_builder.call_argument_name})
108
+ end
109
109
  CODE
110
110
  end
111
111
 
@@ -132,7 +132,7 @@ module GirFFI
132
132
  end
133
133
 
134
134
  def argument_info
135
- @argument_info ||= FieldArgumentInfo.new('value', type_info)
135
+ @argument_info ||= FieldArgumentInfo.new("value", type_info)
136
136
  end
137
137
 
138
138
  def container_class
@@ -143,6 +143,7 @@ module GirFFI
143
143
  @container_module ||= Object.const_get(container_info.safe_namespace)
144
144
  end
145
145
 
146
+ # TODO: Inject container_info on initialization
146
147
  def container_info
147
148
  @container_info ||= @info.container
148
149
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/return_value_builder'
3
+ require "gir_ffi/builders/return_value_builder"
4
4
 
5
5
  module GirFFI
6
6
  module Builders
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/base_type_builder'
4
- require 'gir_ffi/method_stubber'
5
- require 'gir_ffi/builders/function_builder'
6
- require 'gir_ffi/builders/constructor_builder'
7
- require 'gir_ffi/builders/initializer_builder'
3
+ require "gir_ffi/builders/base_type_builder"
4
+ require "gir_ffi/method_stubber"
5
+ require "gir_ffi/builders/function_builder"
6
+ require "gir_ffi/builders/constructor_builder"
7
+ require "gir_ffi/builders/initializer_builder"
8
8
 
9
9
  module GirFFI
10
10
  module Builders
@@ -77,6 +77,7 @@ module GirFFI
77
77
  def stub_methods
78
78
  info.get_methods.each do |minfo|
79
79
  klass.class_eval MethodStubber.new(minfo).method_stub, __FILE__, __LINE__
80
+ alias_accessors(minfo) if minfo.method?
80
81
  end
81
82
  end
82
83
 
@@ -92,6 +93,14 @@ module GirFFI
92
93
  def fields
93
94
  info.fields
94
95
  end
96
+
97
+ def alias_accessors(minfo)
98
+ if minfo.name =~ /^get_(.*)/
99
+ klass.send :alias_method, Regexp.last_match(1), minfo.name
100
+ elsif minfo.n_args == 1 && minfo.name =~ /^set_(.*)/
101
+ klass.send :alias_method, "#{Regexp.last_match(1)}=", minfo.name
102
+ end
103
+ end
95
104
  end
96
105
  end
97
106
  end
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/base_return_value_builder'
4
- require 'gir_ffi/builders/full_c_to_ruby_convertor'
5
- require 'gir_ffi/builders/closure_convertor'
3
+ require "gir_ffi/builders/base_return_value_builder"
4
+ require "gir_ffi/builders/full_c_to_ruby_convertor"
5
+ require "gir_ffi/builders/closure_convertor"
6
6
 
7
7
  module GirFFI
8
8
  module Builders
@@ -39,7 +39,7 @@ module GirFFI
39
39
  end
40
40
 
41
41
  def length_argument_name
42
- length_arg && length_arg.post_converted_name
42
+ length_arg&.post_converted_name
43
43
  end
44
44
  end
45
45
  end
@@ -17,7 +17,7 @@ module GirFFI
17
17
  end
18
18
 
19
19
  def conversion_arguments(name)
20
- @type_info.extra_conversion_arguments.map(&:inspect).push(name).join(', ')
20
+ @type_info.extra_conversion_arguments.map(&:inspect).push(name).join(", ")
21
21
  end
22
22
 
23
23
  private
@@ -25,18 +25,18 @@ module GirFFI
25
25
  def conversion_method
26
26
  case @type_info.flattened_tag
27
27
  when :utf8
28
- 'from_utf8'
28
+ "from_utf8"
29
29
  when :struct, :c
30
30
  case @ownership_transfer
31
31
  when :everything
32
- 'copy_from'
32
+ "copy_from"
33
33
  else
34
- 'from'
34
+ "from"
35
35
  end
36
36
  when :enum
37
- 'to_int'
37
+ "to_int"
38
38
  else
39
- 'from'
39
+ "from"
40
40
  end
41
41
  end
42
42
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/base_type_builder'
4
- require 'gir_ffi/builders/marshalling_method_builder'
3
+ require "gir_ffi/builders/base_type_builder"
4
+ require "gir_ffi/builders/marshalling_method_builder"
5
5
 
6
6
  module GirFFI
7
7
  module Builders
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/registered_type_builder'
4
- require 'gir_ffi/builders/struct_like'
5
- require 'gir_ffi/struct_base'
3
+ require "gir_ffi/builders/registered_type_builder"
4
+ require "gir_ffi/builders/struct_like"
5
+ require "gir_ffi/struct_base"
6
6
 
7
7
  module GirFFI
8
8
  module Builders
@@ -16,7 +16,7 @@ module GirFFI
16
16
 
17
17
  def superclass
18
18
  # HACK: Inheritance chain is not expressed in GObject's code correctly.
19
- return GObject::ObjectClass if info.full_type_name == 'GObject::InitiallyUnownedClass'
19
+ return GObject::ObjectClass if info.full_type_name == "GObject::InitiallyUnownedClass"
20
20
  return parent_field_type.tag_or_class if info.gtype_struct?
21
21
  return BoxedBase if GObject.type_fundamental(info.gtype) == GObject::TYPE_BOXED
22
22
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/with_layout'
3
+ require "gir_ffi/builders/with_layout"
4
4
 
5
5
  module GirFFI
6
6
  module Builders
@@ -1,17 +1,17 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/callback_builder'
4
- require 'gir_ffi/builders/constant_builder'
5
- require 'gir_ffi/builders/enum_builder'
6
- require 'gir_ffi/builders/flags_builder'
7
- require 'gir_ffi/builders/interface_builder'
8
- require 'gir_ffi/builders/object_builder'
9
- require 'gir_ffi/builders/struct_builder'
10
- require 'gir_ffi/builders/signal_closure_builder'
11
- require 'gir_ffi/builders/unintrospectable_boxed_builder'
12
- require 'gir_ffi/builders/unintrospectable_builder'
13
- require 'gir_ffi/builders/union_builder'
14
- require 'gir_ffi/builders/vfunc_builder'
3
+ require "gir_ffi/builders/callback_builder"
4
+ require "gir_ffi/builders/constant_builder"
5
+ require "gir_ffi/builders/enum_builder"
6
+ require "gir_ffi/builders/flags_builder"
7
+ require "gir_ffi/builders/interface_builder"
8
+ require "gir_ffi/builders/object_builder"
9
+ require "gir_ffi/builders/struct_builder"
10
+ require "gir_ffi/builders/signal_closure_builder"
11
+ require "gir_ffi/builders/unintrospectable_boxed_builder"
12
+ require "gir_ffi/builders/unintrospectable_builder"
13
+ require "gir_ffi/builders/union_builder"
14
+ require "gir_ffi/builders/vfunc_builder"
15
15
 
16
16
  module GirFFI
17
17
  module Builders
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/registered_type_builder'
4
- require 'gir_ffi/builders/struct_like'
3
+ require "gir_ffi/builders/registered_type_builder"
4
+ require "gir_ffi/builders/struct_like"
5
5
 
6
6
  module GirFFI
7
7
  module Builders
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/object_builder'
4
- require 'gir_ffi/unintrospectable_signal_info'
3
+ require "gir_ffi/builders/object_builder"
4
+ require "gir_ffi/unintrospectable_signal_info"
5
5
 
6
6
  module GirFFI
7
7
  module Builders
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/registered_type_builder'
4
- require 'gir_ffi/builders/struct_like'
5
- require 'gir_ffi/union_base'
6
- require 'gir_ffi/union'
3
+ require "gir_ffi/builders/registered_type_builder"
4
+ require "gir_ffi/builders/struct_like"
5
+ require "gir_ffi/union_base"
6
+ require "gir_ffi/union"
7
7
 
8
8
  module GirFFI
9
9
  module Builders
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/object_builder'
4
- require 'gir_ffi/g_type'
3
+ require "gir_ffi/builders/object_builder"
4
+ require "gir_ffi/g_type"
5
5
 
6
6
  module GirFFI
7
7
  module Builders
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/callback_argument_builder'
3
+ require "gir_ffi/builders/callback_argument_builder"
4
4
 
5
5
  module GirFFI
6
6
  module Builders
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/return_value_info'
4
- require 'gir_ffi/builders/base_type_builder'
5
- require 'gir_ffi/builders/mapping_method_builder'
6
- require 'gir_ffi/receiver_type_info'
7
- require 'gir_ffi/receiver_argument_info'
8
- require 'gir_ffi/callback_base'
3
+ require "gir_ffi/return_value_info"
4
+ require "gir_ffi/builders/base_type_builder"
5
+ require "gir_ffi/builders/mapping_method_builder"
6
+ require "gir_ffi/receiver_type_info"
7
+ require "gir_ffi/receiver_argument_info"
8
+ require "gir_ffi/callback_base"
9
9
 
10
10
  module GirFFI
11
11
  module Builders
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/builders/field_builder'
3
+ require "gir_ffi/builders/field_builder"
4
4
 
5
5
  module GirFFI
6
6
  module Builders
@@ -35,7 +35,7 @@ module GirFFI
35
35
  end
36
36
 
37
37
  def base_layout_specification
38
- fields.map(&:layout_specification).flatten(1)
38
+ fields.flat_map(&:layout_specification)
39
39
  end
40
40
 
41
41
  def klass
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'gir_ffi/type_base'
3
+ require "gir_ffi/type_base"
4
4
 
5
5
  module GirFFI
6
6
  # Base module for callbacks and vfuncs.
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'forwardable'
4
- require 'gir_ffi/registered_type_base'
5
- require 'gir_ffi/builders/null_class_builder'
6
- require 'gir_ffi/method_setup'
7
- require 'gir_ffi/instance_method_setup'
3
+ require "forwardable"
4
+ require "gir_ffi/registered_type_base"
5
+ require "gir_ffi/builders/null_class_builder"
6
+ require "gir_ffi/method_setup"
7
+ require "gir_ffi/instance_method_setup"
8
8
 
9
9
  module GirFFI
10
10
  # Base class for all generated classes and structs. Contains code for dealing
data/lib/gir_ffi/core.rb CHANGED
@@ -1,25 +1,24 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ffi'
4
- require 'ffi/bit_masks'
5
-
6
- require 'ffi-gobject_introspection'
7
-
8
- require 'gir_ffi-base'
9
-
10
- require 'gir_ffi/ffi_ext'
11
- require 'gir_ffi/class_base'
12
- require 'gir_ffi/type_map'
13
- require 'gir_ffi/info_ext'
14
- require 'gir_ffi/in_pointer'
15
- require 'gir_ffi/in_out_pointer'
16
- require 'gir_ffi/sized_array'
17
- require 'gir_ffi/zero_terminated'
18
- require 'gir_ffi/arg_helper'
19
- require 'gir_ffi/builder'
20
- require 'gir_ffi/user_defined_object_info'
21
- require 'gir_ffi/builders/user_defined_builder'
22
- require 'gir_ffi/version'
3
+ require "ffi"
4
+ require "ffi/bit_masks"
5
+
6
+ require "ffi-gobject_introspection"
7
+
8
+ require "gir_ffi-base"
9
+
10
+ require "gir_ffi/ffi_ext"
11
+ require "gir_ffi/class_base"
12
+ require "gir_ffi/type_map"
13
+ require "gir_ffi/info_ext"
14
+ require "gir_ffi/in_pointer"
15
+ require "gir_ffi/sized_array"
16
+ require "gir_ffi/zero_terminated"
17
+ require "gir_ffi/arg_helper"
18
+ require "gir_ffi/builder"
19
+ require "gir_ffi/user_defined_object_info"
20
+ require "gir_ffi/builders/user_defined_builder"
21
+ require "gir_ffi/version"
23
22
 
24
23
  module GirFFI
25
24
  # Core GirFFI interface.