Rails plugins?

Hi everyone,

I'm trying to set up a plugin structure where I have a main module (for argument's sake called "Abc"), which I want to be able to access in my controllers. So far, so good. I can invoke Abc.method_name without difficulties.

The problems start once I the next part of my plugin: I want to extend Abc with another module or class, either Foo or Bar, with a method such as:

Abc.choose_child('Foo')

The code I currently have is:

/vendors/plugin/my_plugin/lib/abc.rb

module ABC   def self.choose_child(child)     require "children/" + child     send :include, child.constantize   end end ActionController::Base.send :include, SOAPHandler

/vendors/plugin/my_plugin/lib/children/foo.rb

module Foo   def self.foobar     return "hello from Foo"   end end

/vendors/plugin/my_plugin/lib/children/bar.rb

module Bar   def self.foobar     return "hello from Bar"   end end

Then, I want to be able to--in my controllers--do Abc.foobar, which would return either "hello from Foo" or "hello from Bar" depending on which one I loaded with choose_child.

This is the loose implementation, anyway--feel free to point out a better structure.

Any help would be appreciated.

Best regards, Sebastian