Module: Fetcha::ClassMethods

Defined in:
lib/fetcha.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, block) ⇒ Object (private)

Raises:



140
141
142
143
# File 'lib/fetcha.rb', line 140

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
end