module ActiveRecord::ModelSpaces::TableNames

Public Instance Methods

base_table_name(model) click to toggle source
# File lib/active_record/model_spaces/table_names.rb, line 14
def base_table_name(model)
  name_from_model(model).
    instance_eval{ ActiveSupport::Inflector.demodulize(self)}.
    instance_eval{ ActiveSupport::Inflector.underscore(self)}.
    instance_eval{ ActiveSupport::Inflector.pluralize(self)}
end
model_space_table_name(model_space_name, model_space_key, base_table_name) click to toggle source
# File lib/active_record/model_spaces/table_names.rb, line 21
def model_space_table_name(model_space_name, model_space_key, base_table_name)
  if (!model_space_name || model_space_name.to_s.empty?) &&
      (model_space_key && !model_space_key.to_s.empty?)
    raise "model_space_key cannot be non-empty if model_space_name is empty"
  end

  [ ("#{model_space_name}__" if model_space_name && !model_space_name.to_s.empty?),
    ("#{model_space_key}__" if model_space_key && !model_space_key.to_s.empty?),
    base_table_name].compact.join
end
next_version(history_versions, v) click to toggle source
# File lib/active_record/model_spaces/table_names.rb, line 37
def next_version(history_versions, v)
  version(history_versions, (v || 0)+1)
end
table_name(model_space_name, model_space_key, model, history_versions, v) click to toggle source
# File lib/active_record/model_spaces/table_names.rb, line 32
def table_name(model_space_name, model_space_key, model, history_versions, v)
  [model_space_table_name(model_space_name, model_space_key, model),
    ("__#{v}" if v && v>0)].compact.join
end
version(history_versions, v) click to toggle source
# File lib/active_record/model_spaces/table_names.rb, line 45
def version(history_versions, v)
  (v || 0) % ((history_versions || 0) + 1)
end