Module: Fetcha::ClassMethods
- Defined in:
- lib/fetcha.rb
Defined Under Namespace
Modules: PaginationTotalCount
Instance Method Summary collapse
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args, block) ⇒ Object (private)
160 161 162 163 |
# File 'lib/fetcha.rb', line 160 def method_missing(name, *args, block) raise ForbiddenError if name.match /.*_filter$/ super end |
Instance Method Details
#fetch(params = {}) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/fetcha.rb', line 9 def fetch(params = {}) results = self.all query_scope = params['scope'] filters = params['filter'] sorting = params['sort'] pages = params['page'] search = params['search'] results = process_scope(results, query_scope) if query_scope results = process_filtering(results, filters) if filters results = process_sorting(results, sorting) if sorting results = process_pagination!(results, pages) if pages results = process_search(results, search) if search results.extending(PaginationTotalCount) end |