class OnlineMigrations::ForeignKeysCollector

@private

Attributes

referenced_tables[R]

Public Class Methods

new() click to toggle source
# File lib/online_migrations/foreign_keys_collector.rb, line 8
def initialize
  @referenced_tables = Set.new
end

Public Instance Methods

belongs_to(*ref_names, **options)
Alias for: references
collect(&table_definition) click to toggle source
# File lib/online_migrations/foreign_keys_collector.rb, line 12
def collect(&table_definition)
  table_definition.call(self)
end
foreign_key(to_table, **_options) click to toggle source
# File lib/online_migrations/foreign_keys_collector.rb, line 16
def foreign_key(to_table, **_options)
  @referenced_tables << to_table.to_s
end
method_missing(*) click to toggle source
# File lib/online_migrations/foreign_keys_collector.rb, line 29
def method_missing(*)
  # we only care about foreign keys related methods
end
references(*ref_names, **options) click to toggle source
# File lib/online_migrations/foreign_keys_collector.rb, line 20
def references(*ref_names, **options)
  if options[:foreign_key]
    ref_names.each do |ref_name|
      @referenced_tables << Utils.foreign_table_name(ref_name, options)
    end
  end
end
Also aliased as: belongs_to