Guest User

Untitled

a guest
Sep 8th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. Runtime class creation in Rails. How should I handle this?
  2. class externalapp < ActiveRecord::Base
  3. establish_connection :externalapp_db
  4. end
  5.  
  6. def create_class(class_name, superclass, &block)
  7. klass = Class.new superclass, &block
  8. Object.const_set class_name, klass
  9. end
  10.  
  11. constant_name = app.database_name.camelize + table_name.camelize
  12.  
  13. klass = Class.new(ActiveRecord::Base)
  14.  
  15. ActiveRecord::Base.const_set(constant_name, klass)
  16.  
  17. klass.class_eval do
  18. set_table_name table_name
  19. establish_connection(
  20. :adapter => "mysql",
  21. :host => app.database_host,
  22. :username => app.database_username,
  23. :password => app.database_password,
  24. :database => app.database_name
  25. )
  26. end
Add Comment
Please, Sign In to add comment