lib/fetcha.rb in fetcha-0.1.3 vs lib/fetcha.rb in fetcha-0.2.0

- old
+ new

@@ -10,14 +10,16 @@ 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 private @@ -62,22 +64,14 @@ def process_scope(datasource, query_scope) datasource.send(query_scope) if (fetchable_opts[:scopes].include? query_scope.to_sym) end - def process_filtering(datasource, filters) - if filters.is_a?(String) - full_text_filtering(datasource, filters) - else - hash_filtering(datasource, filters) - end + def process_search(datasource, search) + datasource.search_full_text(search) end - def full_text_filtering(datasource, filter) - datasource.search_full_text(filter) - end - - def hash_filtering(datasource, filters = {}) + def process_filtering(datasource, filters = {}) filter_opts = fetchable_opts[:filtering] includes = Set.new() real_filters = filters.select do |k| next unless filter_opts.keys.include? k