class Yaqb::QueryBuilders::QueryOrchestrator
Attributes
links[R]
scope[R]
Public Class Methods
new(scope, params, request, response, presenter)
click to toggle source
# File lib/yaqb/query_builders/query_orchestrator.rb, line 12 def initialize(scope, params, request, response, presenter) @scope = scope @params = params @request = request @response = response @presenter = presenter end
Public Instance Methods
call()
click to toggle source
# File lib/yaqb/query_builders/query_orchestrator.rb, line 20 def call @scope = filter @scope = sort @scope = paginate self end
Private Instance Methods
filter()
click to toggle source
# File lib/yaqb/query_builders/query_orchestrator.rb, line 41 def filter Filter.new(@scope, @params, @presenter).filter end
paginate()
click to toggle source
# File lib/yaqb/query_builders/query_orchestrator.rb, line 30 def paginate current_url = @request.base_url + @request.path paginator = Paginate.new(@scope, @params, current_url) @response.headers['Link'] = @links = paginator.links paginator.paginate end
sort()
click to toggle source
# File lib/yaqb/query_builders/query_orchestrator.rb, line 37 def sort Sort.new(@scope, @params, @presenter).sort end