class ReeValidator::ValidatePaging
def call(page:, per_page:, min_per_page:, max_per_page:, error: nil, **opts)
def call(page:, per_page:, min_per_page:, max_per_page:, error: nil, **opts) if page < 1 error ||= PagingErr.new( t('validator.paging.min_page', default_by_locale: :en) ) raise error end if per_page < min_per_page error ||= PagingErr.new( t( 'validator.paging.min_per_page', {min_per_page: min_per_page}, default_by_locale: :en ) ) raise error end if per_page > max_per_page error ||= PagingErr.new( t( 'validator.paging.max_per_page', {max_per_page: max_per_page}, default_by_locale: :en ) ) raise error end max_result_window = opts[:max_result_window] if max_result_window && page * per_page > max_result_window error ||= PagingErr.new( t( 'validator.paging.max_result_window', {max_result_window: max_result_window}, default_by_locale: :en ) ) raise error end true end