Module: TableRenamable::Model
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/table_renamable/model.rb
Overview
Model that is included in ActiveRecord to enable our behavior
Defined Under Namespace
Modules: ClassMethods Classes: NoTableError
Class Method Summary collapse
-
.deprecated_tables ⇒ Array<DeprecatedTable>
Return our list of deprecated tables.
-
.process_sql(sql) ⇒ String
Update a string of SQL to replace deprecated tables.
-
.reload_tables ⇒ Boolean
Reload our table names so we pick up any changes.
Class Method Details
.deprecated_tables ⇒ Array<DeprecatedTable>
Return our list of deprecated tables
24 25 26 |
# File 'lib/table_renamable/model.rb', line 24 def self.deprecated_tables @deprecated_tables ||= [] end |
.process_sql(sql) ⇒ String
Update a string of SQL to replace deprecated tables
33 34 35 36 37 38 39 40 41 |
# File 'lib/table_renamable/model.rb', line 33 def self.process_sql(sql) self.deprecated_tables.each do |deprecated_table| # our current table name current_table_name = deprecated_table.get_current_table_name old_table_name = deprecated_table.old_name sql = sql.gsub(/#{old_table_name}/, current_table_name.to_s) end sql end |
.reload_tables ⇒ Boolean
Reload our table names so we pick up any changes
47 48 49 50 |
# File 'lib/table_renamable/model.rb', line 47 def self.reload_tables self.deprecated_tables.each(&:set_table_name) true end |