api_only_pagination 0.1.2 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f6d061e8e8b177a9162d5d74908e3cc3ba5e2fc2bae27e5d4623c036b31a8690
4
- data.tar.gz: 6a8de04ac9425d054808fbb3c5d4554c28a3444753229f2a047891ebaa183a63
3
+ metadata.gz: 826fde0fb392a394358a65a5759171b45cc47f449785bf2877d6728f7dfb4f0e
4
+ data.tar.gz: 1b13d3e52a7cdac0de53a8a54c5751283fb5e6419fdf0ac85457b74124b0e600
5
5
  SHA512:
6
- metadata.gz: e187502965e71964a3224647ffbaa34e13763780c292d8f01a3c2e350632bff1738d314a10a8b9534bf84522f6fdfdf8bad020c6dca122907040f27cc19a692b
7
- data.tar.gz: d2d059b67a91be138b6aae23d0506c41c5d5c8ee957f5de172e338d5e2c2c53a6786d51f77606e24295f452fd354e7f0a986dd0a28c794032391effbbc4ae9b5
6
+ metadata.gz: 14eb5e9588e159cc148149135bdc6ef7b2b6879394300d4aa71d6da36fc7fe8049357aab703c9f2e3488fc7290c9671bede4eda9c9b2562fbb875d962b25935a
7
+ data.tar.gz: 47d8acd2be2b1f6ea72a689124156e9728404be2214232782fa733b01912e8a6875f0c62bd67eecba7c4b784d21d92ad0d5697b4f1cde2975d47e95eb3872bd5
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- api_only_pagination (0.1.2)
4
+ api_only_pagination (0.1.4)
5
5
  activerecord (>= 5.0)
6
6
 
7
7
  GEM
@@ -6,18 +6,19 @@ module ApiOnlyPagination
6
6
  module ActiveRecordPaginate
7
7
  extend ActiveSupport::Concern
8
8
  module ClassMethods
9
- def do_paginate(page = ApiOnlyPagination.configuration.default_page,
10
- per_page = ApiOnlyPagination.configuration.default_page_size)
11
- pagination = ApiOnlyPagination::Pagination.new(all, { page: page, per_page: per_page })
12
- meta_data = pagination.metadata
9
+ %i[do_paginate paginate paginated_response].each do |access_method|
10
+ define_method(access_method) do |page = ApiOnlyPagination.configuration.default_page, per_page = ApiOnlyPagination.configuration.default_page_size| # or even |*args|
11
+ pagination = ApiOnlyPagination::Pagination.new(all, { page: page, per_page: per_page })
12
+ meta_data = pagination.metadata
13
13
 
14
- ApiOnlyPagination::PaginatedData
15
- .new(data: pagination.results,
16
- per_page: meta_data.per_page,
17
- current_page: page,
18
- total_pages: meta_data.total_pages,
19
- total_records: meta_data.count)
20
- end
14
+ ApiOnlyPagination::PaginatedData
15
+ .new(data: pagination.results,
16
+ per_page: meta_data.per_page,
17
+ current_page: meta_data.page,
18
+ total_pages: meta_data.total_pages,
19
+ total_records: meta_data.count)
20
+ end
21
+ end
21
22
  end
22
23
  end
23
24
  end
@@ -9,6 +9,13 @@ module ApiOnlyPagination
9
9
  @count = count
10
10
  @per_page = [(per_page.to_i || ApiOnlyPagination.configuration.default_page_size),
11
11
  ApiOnlyPagination.configuration.max_per_page].min
12
+
13
+ validate_params
14
+ end
15
+
16
+ def validate_params
17
+ @page = @page.zero? ? ApiOnlyPagination.configuration.default_page : @page
18
+ @per_page = @per_page.zero? ? ApiOnlyPagination.configuration.default_page_size : @per_page
12
19
  end
13
20
 
14
21
  def offset
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ApiOnlyPagination
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.4"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api_only_pagination
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ashok
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-05-10 00:00:00.000000000 Z
11
+ date: 2023-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord