class DynamicActiveModel::ForeignKey

DynamicActiveModel::ForeignKey tracks foreign keys related to the model

Constants

DEFAULT_ID_SUFFIX

Attributes

keys[R]
model[R]

Public Class Methods

id_suffix() click to toggle source
# File lib/dynamic-active-model/foreign_key.rb, line 11
def self.id_suffix
  @id_suffix || DEFAULT_ID_SUFFIX
end
id_suffix=(val) click to toggle source

rubocop:disable Style/TrivialAccessors

# File lib/dynamic-active-model/foreign_key.rb, line 16
def self.id_suffix=(val)
  @id_suffix = val
end
new(model) click to toggle source

rubocop:enable Style/TrivialAccessors

# File lib/dynamic-active-model/foreign_key.rb, line 21
def initialize(model)
  @model = model
  @keys = {}
  add(generate_foreign_key(model.table_name))
end

Public Instance Methods

add(key, relationship_name = nil) click to toggle source
# File lib/dynamic-active-model/foreign_key.rb, line 27
def add(key, relationship_name = nil)
  @keys[key] = relationship_name || model.table_name.underscore
end
generate_foreign_key(table_name) click to toggle source
# File lib/dynamic-active-model/foreign_key.rb, line 31
def generate_foreign_key(table_name)
  table_name.underscore.singularize + self.class.id_suffix
end