Class: ForestAdminAgent::Routes::AbstractRelatedRoute

Inherits:
AbstractAuthenticatedRoute show all
Defined in:
lib/forest_admin_agent/routes/abstract_related_route.rb

Instance Method Summary collapse

Methods inherited from AbstractAuthenticatedRoute

#format_attributes

Methods inherited from AbstractRoute

#add_route, #initialize, #routes, #setup_routes

Constructor Details

This class inherits a constructor from ForestAdminAgent::Routes::AbstractRoute

Instance Method Details

#build(args = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/forest_admin_agent/routes/abstract_related_route.rb', line 4

def build(args = {})
  context = super

  relation = context.collection.schema[:fields][args[:params]['relation_name']]
  context.child_collection = if relation.type == 'PolymorphicManyToOne'
                               context.datasource.get_collection(args[:params]['data']['type'])
                             else
                               context.datasource.get_collection(relation.foreign_collection)
                             end

  context
end