Method: Scimitar::ActiveRecordBackedResourcesController#index
- Defined in:
- app/controllers/scimitar/active_record_backed_resources_controller.rb
#index ⇒ Object
GET (list)
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'app/controllers/scimitar/active_record_backed_resources_controller.rb', line 26 def index query = if params[:filter].blank? self.storage_scope() else attribute_map = storage_class().new.scim_queryable_attributes() parser = ::Scimitar::Lists::QueryParser.new(attribute_map) parser.parse(params[:filter]) parser.to_activerecord_query(self.storage_scope()) end pagination_info = scim_pagination_info(query.count()) page_of_results = query .order(@id_column => :asc) .offset(pagination_info.offset) .limit(pagination_info.limit) .to_a() super(pagination_info, page_of_results) do | record | record_to_scim(record) end end |