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