lib/query_helper.rb in query_helper-0.2.6 vs lib/query_helper.rb in query_helper-0.2.7
- old
+ new
@@ -34,12 +34,12 @@
@query = query.class < ActiveRecord::Relation ? query.to_sql : query
@model = query.class < ActiveRecord::Relation ? query.base_class : model
@bind_variables = bind_variables
@sql_filter = sql_filter
@sql_sort = sql_sort
- @page = (page.to_i if page) || 1
- @per_page = (per_page.to_i if per_page) || 100
+ @page = determine_page(page: page, per_page: per_page)
+ @per_page = determine_per_page(page: page, per_page: per_page)
@single_record = single_record
@associations = associations
@as_json_options = as_json_options
@custom_mappings = custom_mappings
@api_payload = api_payload
@@ -152,9 +152,21 @@
return paginated_results() if @api_payload
return @results
end
private
+
+ def determine_page(page:, per_page:)
+ return page.to_i if page
+ return 1 if !page && per_page
+ return nil
+ end
+
+ def determine_per_page(page:, per_page:)
+ return per_page.to_i if per_page
+ return 100 if !per_page && page
+ return nil
+ end
def paginated_results
{ pagination: pagination_results(),
data: @results }
end