Method: Monkey::Backend.new
- Defined in:
- lib/monkey/backend.rb
.new(backend_name, backend_path = nil, &block) ⇒ Object
77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/monkey/backend.rb', line 77 def self.new(backend_name, backend_path = nil, &block) mod = eval "module #{backend_name}; self; end" mod.extend AbstractBackend backend_path ||= backend_name.to_s.downcase mod.backend_name, mod.backend_path = backend_name.to_s, backend_path.to_s available_backends << mod if block eigenclass = class << mod; self; end eigenclass.class_eval(&block) end mod end |