Module: Grape::DSL::InsideRoute

Defined in:
lib/grape/dsl.rb

Instance Method Summary collapse

Instance Method Details

#listing(model:, entity:, scopes: nil, search: nil, paginate: true, caching: false) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/grape/dsl.rb', line 7

def listing(model:, entity:, scopes: nil, search: nil, paginate: true, caching: false)
  # параметры запроса API
  request_method = request.env['REQUEST_METHOD']
  request_uri = request.env['REQUEST_URI']

  # опции для сервиса
  opts = listing_opts(model, entity, scopes, search, caching, request_method, request_uri)

  if params[:spreadsheet]
    listing_spreadsheet(**opts)
  elsif paginate
    GrapeListingService.paginated(**opts)
  else
    GrapeListingService.listed(**opts)
  end
end