class Trailblazer::Finder::Activities::PreparePaging
Public Instance Methods
check_paging(ctx, **)
click to toggle source
# File lib/trailblazer/finder/activities/prepare_paging.rb, line 7 def check_paging(ctx, **) paging = ctx[:config][:paging] || nil return false if ctx[:config][:paging].empty? || paging.nil? true end
clear_paging(ctx, **)
click to toggle source
# File lib/trailblazer/finder/activities/prepare_paging.rb, line 25 def clear_paging(ctx, **) ctx[:params].delete(:page) unless ctx[:params][:page].nil? true end
set_paging(ctx, **)
click to toggle source
# File lib/trailblazer/finder/activities/prepare_paging.rb, line 14 def set_paging(ctx, **) ctx[:paging] = ctx.dig(:config,:paging) || {} ctx[:paging][:current_page] = ctx.dig(:params,:page) || 1 return true unless ctx[:params][:per_page] ctx[:paging][:per_page] = ctx[:params][:per_page].to_i || ctx[:paging][:per_page] ctx[:paging][:per_page] = ctx[:paging][:max_per_page] if ctx[:paging][:per_page] > ctx[:paging][:max_per_page] ctx[:paging][:per_page] = ctx[:paging][:min_per_page] if ctx[:paging][:per_page] < ctx[:paging][:min_per_page] true end