gir_ffi 0.7.1 → 0.7.2

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
  SHA1:
3
- metadata.gz: 8cf0a7c44fc03dbe6b94889b4f2d9fb4d0ffd3d4
4
- data.tar.gz: 125f3d704a2d1dbf911503efd0ee15b7b520b96f
3
+ metadata.gz: ad910cc6ba5f72dc4dbec829707d52c1ed3a0a17
4
+ data.tar.gz: b6635852aa08e28b1a7a51c84932fe9aac0baa1c
5
5
  SHA512:
6
- metadata.gz: c8701346e6ed89cac5567fff4c564c536debc9a64f0cd91f1c61792e363265f84ab385c8a410fb52acb65ecbfab105fa085f39e4a10e20534388e7e5fe5e7fac
7
- data.tar.gz: 922d806dd05c7e353fb5e382ab04ae982abc7fe96bb470a855d937ef273b524d1ecd3d6a9346480c23cb28f56bb7137697370bb2af179a1e91b7946c7654e87b
6
+ metadata.gz: 5cc6818faedb14eb6ef3d63f43bb10b5380ff4816359ec15c72a71644ee28bf979a20db5da557fff2daa09ba2431b1b6dad3b34810512573bf678b6e2dcdb161
7
+ data.tar.gz: 2c51998f1f4b676337e4210fdd5931ded7ab8ffe228c1ca4b00b86f7b6089fbb3a56f94572388a6d47a8b90ad7c4a12251e0bd43520fcfbe7edf4d7be86ae104
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.2 / 2014-01-18
4
+
5
+ * Officially drop Ruby 1.8 compatibility.
6
+ * Store GType of generated types in a constant, removing the need to generate a
7
+ separate get_gtype method for each type.
8
+
3
9
  ## 0.7.1 / 2014-01-17
4
10
 
5
11
  * Handle method setup for methods with unsafe names (i.e., g_iconv())
data/README.md CHANGED
@@ -37,8 +37,8 @@ Ruby bindings for GNOME using the GObject Introspection Repository.
37
37
 
38
38
  ## Requirements
39
39
 
40
- GirFFI should work on MRI 1.8, 1.9, 2.0, and 2.1, JRuby in both 1.8 and 1.9
41
- modes, and on Rubinius.
40
+ GirFFI should work on MRI 1.9, 2.0, and 2.1, JRuby in 1.9 mode, and on
41
+ Rubinius.
42
42
 
43
43
  You will also need gobject-introspection installed with some
44
44
  introspection data.
@@ -33,7 +33,6 @@ module GirFFI
33
33
  def setup_class
34
34
  klass.extend superclass
35
35
  setup_constants
36
- setup_gtype_getter
37
36
  stub_methods
38
37
  setup_inspect
39
38
  end
@@ -28,7 +28,6 @@ module GirFFI
28
28
  klass.extend InterfaceBase
29
29
  setup_constants
30
30
  stub_methods
31
- setup_gtype_getter
32
31
  end
33
32
 
34
33
  def iface_struct_info
@@ -36,7 +36,6 @@ module GirFFI
36
36
  setup_layout
37
37
  setup_constants
38
38
  stub_methods
39
- setup_gtype_getter
40
39
  if info.fundamental?
41
40
  setup_field_accessors
42
41
  else
@@ -13,16 +13,9 @@ module GirFFI
13
13
  info.g_type
14
14
  end
15
15
 
16
- # TODO: Rename the created method, or use a constant.
17
- # FIXME: Only used in some of the subclases. Make mixin?
18
- def setup_gtype_getter
19
- gtype = target_gtype
20
- return if gtype.nil?
21
- klass.instance_eval "
22
- def self.get_gtype
23
- #{gtype}
24
- end
25
- "
16
+ def setup_constants
17
+ klass.const_set :G_TYPE, target_gtype
18
+ super
26
19
  end
27
20
 
28
21
  # FIXME: Only used in some of the subclases. Make mixin?
@@ -16,7 +16,6 @@ module GirFFI
16
16
  setup_layout
17
17
  setup_constants
18
18
  stub_methods
19
- setup_gtype_getter
20
19
  setup_field_accessors
21
20
  provide_constructor
22
21
  end
@@ -18,7 +18,6 @@ module GirFFI
18
18
  setup_constants
19
19
  setup_layout
20
20
  setup_interfaces
21
- setup_gtype_getter
22
21
  end
23
22
 
24
23
  def setup_instance_method method
@@ -21,7 +21,6 @@ module GirFFI
21
21
  setup_layout
22
22
  setup_constants
23
23
  stub_methods
24
- setup_gtype_getter
25
24
  setup_field_accessors
26
25
  provide_constructor
27
26
  end
@@ -29,7 +29,6 @@ module GirFFI
29
29
  setup_layout
30
30
  setup_constants
31
31
  #stub_methods
32
- setup_gtype_getter
33
32
  setup_property_accessors
34
33
  #setup_vfunc_invokers
35
34
  #setup_interfaces
@@ -1,12 +1,12 @@
1
1
  require 'forwardable'
2
2
  require 'gir_ffi/builders/null_builder'
3
- require 'gir_ffi/type_base'
3
+ require 'gir_ffi/registered_type_base'
4
4
 
5
5
  module GirFFI
6
6
  # Base class for all generated classes. Contains code for dealing with
7
7
  # the generated Struct classes.
8
8
  class ClassBase
9
- extend TypeBase
9
+ extend RegisteredTypeBase
10
10
  extend Forwardable
11
11
 
12
12
  def_delegators :@struct, :to_ptr
@@ -1,10 +1,10 @@
1
- require 'gir_ffi/type_base'
1
+ require 'gir_ffi/registered_type_base'
2
2
 
3
3
  module GirFFI
4
4
  # Base module for enums.
5
5
  module EnumBase
6
6
  include FFI::DataConverter
7
- include TypeBase
7
+ include RegisteredTypeBase
8
8
 
9
9
  def native_type
10
10
  self::Enum.native_type
@@ -1,9 +1,9 @@
1
- require 'gir_ffi/type_base'
1
+ require 'gir_ffi/registered_type_base'
2
2
 
3
3
  module GirFFI
4
4
  # Base module for modules representing GLib interfaces.
5
5
  module InterfaceBase
6
- include TypeBase
6
+ include RegisteredTypeBase
7
7
 
8
8
  def setup_instance_method name
9
9
  gir_ffi_builder.setup_instance_method name
@@ -0,0 +1,14 @@
1
+ require 'gir_ffi/type_base'
2
+
3
+ module GirFFI
4
+ # Base module for generated registered GLib types (these are types that have a
5
+ # GType).
6
+ module RegisteredTypeBase
7
+ include TypeBase
8
+
9
+ def get_gtype
10
+ self::G_TYPE
11
+ end
12
+ end
13
+ end
14
+
@@ -1,3 +1,3 @@
1
1
  module GirFFI
2
- VERSION = "0.7.1"
2
+ VERSION = "0.7.2"
3
3
  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.7.1
4
+ version: 0.7.2
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: 2014-01-17 00:00:00.000000000 Z
11
+ date: 2014-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -176,6 +176,7 @@ files:
176
176
  - lib/gir_ffi/info_ext/i_signal_info.rb
177
177
  - lib/gir_ffi/info_ext/safe_function_name.rb
178
178
  - lib/gir_ffi/info_ext/i_registered_type_info.rb
179
+ - lib/gir_ffi/registered_type_base.rb
179
180
  - lib/gir_ffi/g_type.rb
180
181
  - lib/gir_ffi/module_base.rb
181
182
  - lib/gir_ffi/user_defined_type_info.rb