Class: Kaiser::Plugins::Database
- Inherits:
-
Kaiser::Plugin
- Object
- Kaiser::Plugin
- Kaiser::Plugins::Database
- Defined in:
- lib/kaiser/plugins/database.rb
Instance Method Summary collapse
Methods inherited from Kaiser::Plugin
all_plugins, inherited, #initialize, loaded?, #method_missing
Constructor Details
This class inherits a constructor from Kaiser::Plugin
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Kaiser::Plugin
Instance Method Details
#on_init ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/kaiser/plugins/database.rb', line 8 def on_init @kaiserfile.define_singleton_method :def_db do |*args| args[0] = { args.first => {} } unless args.first.is_a? Hash option = args.first driver_name = option.keys.first.to_s begin require "kaiser/databases/#{driver_name}" rescue LoadError raise "Unknown database '#{driver_name}'" end driver_class = Kaiser::Databases.const_get(driver_name.camelize) db_driver = driver_class.new(option.values.first) db(db_driver.image_name, **db_driver.) end end |