class DbBlaster::SourceTablesSchemaBuilder
Builds an array of tables and their columns
Public Class Methods
build_schema()
click to toggle source
# File lib/db_blaster/source_tables_schema_builder.rb, line 6 def self.build_schema new.build_schema end
Public Instance Methods
build_columns_from_table_name(table_name)
click to toggle source
# File lib/db_blaster/source_tables_schema_builder.rb, line 18 def build_columns_from_table_name(table_name) ActiveRecord::Base.connection.columns(table_name).collect do |column| next if ignored_column?(column.name) { name: column.name, type: column.type, limit: column.limit } end.compact end
build_schema()
click to toggle source
# File lib/db_blaster/source_tables_schema_builder.rb, line 10 def build_schema ActiveRecord::Base.connection.tables.each_with_object({}) do |table_name, hash| unless AvailableTables::SYSTEM_TABLES.include?(table_name) hash[table_name] = build_columns_from_table_name(table_name) end end end
ignored_column?(column)
click to toggle source
# File lib/db_blaster/source_tables_schema_builder.rb, line 28 def ignored_column?(column) (DbBlaster.configuration.ignored_column_names || []).include?(column) end