Sha256: 02ea51d12501b7727f9b57a3aeaf1bcf37c4e4599492dfad60cc7c040427ea62

Contents?: true

Size: 713 Bytes

Versions: 7

Compression:

Stored size: 713 Bytes

Contents

# frozen_string_literal: true

require_relative './api_query/sort'
require_relative './api_query/paginate'
require_relative './api_query/filter'
require_relative './api_query/search'
require_relative './api_query/apply_scope'
require_relative './api_query/build_meta'
require_relative './api_query/build_json'

module Motor
  module ApiQuery
    module_function

    def call(rel, params)
      rel = ApiQuery::Sort.call(rel, params[:sort])
      rel = ApiQuery::Paginate.call(rel, params[:page])
      rel = ApiQuery::Filter.call(rel, params[:filter])
      rel = ApiQuery::ApplyScope.call(rel, params[:scope])

      ApiQuery::Search.call(rel, params[:q] || params[:search] || params[:query])
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
motor-admin-0.1.20 lib/motor/api_query.rb
motor-admin-0.1.18 lib/motor/api_query.rb
motor-admin-0.1.17 lib/motor/api_query.rb
motor-admin-0.1.15 lib/motor/api_query.rb
motor-admin-0.1.16 lib/motor/api_query.rb
motor-admin-0.1.14 lib/motor/api_query.rb
motor-admin-0.1.13 lib/motor/api_query.rb