Class: Module

Inherits:
Object show all
Defined in:
lib/carray/autoload.rb,
lib/carray/autoload.rb

Instance Method Summary collapse

Instance Method Details

#autoload_method(method, library) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/carray/autoload.rb', line 42

def autoload_method (method, library)
  class_eval %{
    def #{method} (*argv, &block)
      begin
        require "#{library}"
      rescue LoadError
        raise "error in autoloading '#{library}' hooked by method '#{method}', check gem installation."
      end
      #{method}(*argv, &block)
    end
  }
end

#autoload_module_function(method, library) ⇒ Object



57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/carray/autoload.rb', line 57

def autoload_module_function (method, library)
  class_eval %{
    module_function
    def #{method} (*argv, &block)
      begin
        require "#{library}"
      rescue LoadError
        raise "error in autoloading '#{library}' hooked by method '#{method}', check gem installation."
      end
      #{method}(*argv, &block)
    end
  }
end