class Trailblazer::Finder::Activities::ProcessAdapters

Public Instance Methods

invalid_paginator_error(ctx, **) click to toggle source
# File lib/trailblazer/finder/activities/process_adapters.rb, line 26
def invalid_paginator_error(ctx, **)
  (ctx[:errors] ||= []) << {paginator: "Can't use paginator #{ctx.dig(:config, :paginator)} without using an ORM like ActiveRecord or Sequel"}
end
set_adapter((ctx, flow_options), **) click to toggle source
# File lib/trailblazer/finder/activities/process_adapters.rb, line 7
def set_adapter((ctx, flow_options), **)
  adapter = ctx[:adapter]
  ctx[:orm] = {}
  ctx[:orm][:adapter] = adapter
  ctx[:orm][:predicates] = "Trailblazer::Finder::Adapters::#{adapter}::Predicates"
  ctx[:orm][:paging] = "Trailblazer::Finder::Adapters::#{adapter}::Paging"
  ctx[:orm][:sorting] = "Trailblazer::Finder::Adapters::#{adapter}::Sorting"
  true
end
set_paginator(ctx, **) click to toggle source
# File lib/trailblazer/finder/activities/process_adapters.rb, line 17
def set_paginator(ctx, **)
  paginator = ctx.dig(:config, :paginator)
  return true unless paginator
  return false unless ORM_ADAPTERS.include?(ctx[:orm][:adapter])
  return false unless PAGING_ADAPTERS.include?(paginator)
  ctx[:orm][:paging] = "Trailblazer::Finder::Adapters::#{paginator}::Paging"
  true
end