gir_ffi 0.7.1 → 0.7.2

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
  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