Module: ForestAdminDatasourceMongoid::Parser::Relation
- Included in:
- Collection
- Defined in:
- lib/forest_admin_datasource_mongoid/parser/relation.rb
Instance Method Summary collapse
Instance Method Details
#get_polymorphic_types(relation_name) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/forest_admin_datasource_mongoid/parser/relation.rb', line 4 def get_polymorphic_types(relation_name) types = {} ObjectSpace.each_object(Class).select { |klass| klass < Mongoid::Document }.each do |model| if model.relations.any? { |_, relation| relation.[:as] == relation_name.to_sym } primary_key = model.fields.keys.find { |key| model.fields[key].[:as] == :id } || :_id types[model.name.gsub('::', '__')] = primary_key.to_s end end types end |