Class: ActiveRecord::Materialized::MigrationBuilder
- Inherits:
-
Object
- Object
- ActiveRecord::Materialized::MigrationBuilder
- Extended by:
- T::Sig
- Defined in:
- lib/activerecord/materialized/migration_builder.rb
Overview
The data a generated migration needs to provision a view’s empty cache table: table name, migration class name, target version, and inferred columns/types. The file itself is produced by Rails’ generator tooling.
Instance Method Summary collapse
- #column_definitions ⇒ Object
-
#initialize(view_class) ⇒ MigrationBuilder
constructor
A new instance of MigrationBuilder.
- #migration_class_name ⇒ Object
- #migration_version ⇒ Object
- #table_name ⇒ Object
Constructor Details
#initialize(view_class) ⇒ MigrationBuilder
Returns a new instance of MigrationBuilder.
13 14 15 |
# File 'lib/activerecord/materialized/migration_builder.rb', line 13 def initialize(view_class) @view_class = view_class end |
Instance Method Details
#column_definitions ⇒ Object
33 34 35 |
# File 'lib/activerecord/materialized/migration_builder.rb', line 33 def column_definitions CacheTableSchema.column_definitions(@view_class.connection, @view_class.resolved_source) end |
#migration_class_name ⇒ Object
23 24 25 |
# File 'lib/activerecord/materialized/migration_builder.rb', line 23 def migration_class_name "Create#{table_name.camelize}" end |
#migration_version ⇒ Object
28 29 30 |
# File 'lib/activerecord/materialized/migration_builder.rb', line 28 def migration_version ::ActiveRecord::Migration.current_version end |
#table_name ⇒ Object
18 19 20 |
# File 'lib/activerecord/materialized/migration_builder.rb', line 18 def table_name @view_class.table_name end |