Method: ModelInfo::ModelsHelper#associations_hash

Defined in:
app/helpers/model_info/models_helper.rb

#associations_hashObject

associations_hash = { [:projects, :has_many]=>“Project”, [:histories, :has_many]=>“History”, [:subordinates, :has_many]=>“Employee” }



45
46
47
48
49
50
51
52
53
54
55
# File 'app/helpers/model_info/models_helper.rb', line 45

def associations_hash
  relationship_hash ={}, active_record_name=[], klass_name=[]
  model_reflection_on_associations.each do |reflection|
    if reflection.options[:polymorphic]
      active_record_name.push(reflection.active_record.name)
    else
      klass_name.push(reflection.klass.name)
    end
  end
  relationship_hash = model_reflection_on_associations.map { |x| [x.name, x.macro] }.zip(active_record_name+klass_name).inject({}) { |h, e| h[e.first] = e.last; h }
end