diff options
Diffstat (limited to 'lib/efl/ffi/elementary.rb')
-rw-r--r-- | lib/efl/ffi/elementary.rb | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/efl/ffi/elementary.rb b/lib/efl/ffi/elementary.rb index 1411b87..dabc667 100644 --- a/lib/efl/ffi/elementary.rb +++ b/lib/efl/ffi/elementary.rb @@ -6,13 +6,15 @@ require 'efl/ffi' module Efl # module Elm + # + extend Efl::FFIHelper + # def self.method_missing m, *args, &block - return Efl::FFI.send 'elm_'+m.to_s, *args, &block + sym = 'elm_'+m.to_s + raise NameError.new "#{self.name}.#{sym} (#{m})" if not self.respond_to? sym + self.module_eval "def self.#{m} *args, █ r=self.#{sym}(*args); yield r if block_given?; r; end" + self.send sym, *args, &block end - end - # - module FFI - # # ffi_lib 'libelementary-ver-pre-svn-09.so.0' # @@ -3211,6 +3213,7 @@ module Efl ] # attach_fcts fcts + # end end # |