Class: Dbviewer::Database::DynamicModelFactory
- Inherits:
-
Object
- Object
- Dbviewer::Database::DynamicModelFactory
- Defined in:
- lib/dbviewer/database/dynamic_model_factory.rb
Overview
DynamicModelFactory creates and manages ActiveRecord models for database tables
Instance Method Summary collapse
-
#get_model_for(table_name) ⇒ Class
Get or create an ActiveRecord model for a table.
-
#initialize(connection, cache_manager, metadata_manager) ⇒ DynamicModelFactory
constructor
Initialize with a connection, cache manager, and metadata manager.
Constructor Details
#initialize(connection, cache_manager, metadata_manager) ⇒ DynamicModelFactory
Initialize with a connection, cache manager, and metadata manager
8 9 10 11 12 |
# File 'lib/dbviewer/database/dynamic_model_factory.rb', line 8 def initialize(connection, cache_manager, ) @connection = connection @cache_manager = cache_manager = end |
Instance Method Details
#get_model_for(table_name) ⇒ Class
Get or create an ActiveRecord model for a table
17 18 19 20 21 22 |
# File 'lib/dbviewer/database/dynamic_model_factory.rb', line 17 def get_model_for(table_name) # Cache models for shorter time since they might need refreshing more frequently @cache_manager.fetch("model-#{table_name}", expires_in: 300) do find_or_create_model_for(table_name) end end |