grape-kaminari 0.1.9 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.gitignore +0 -1
- data/.rubocop.yml +26 -0
- data/.travis.yml +6 -0
- data/Gemfile.lock +117 -0
- data/LICENSE.txt +1 -0
- data/README.md +6 -7
- data/Rakefile +6 -3
- data/grape-kaminari.gemspec +19 -19
- data/lib/grape-kaminari.rb +1 -11
- data/lib/grape/kaminari.rb +40 -34
- data/lib/grape/kaminari/max_value_validator.rb +7 -16
- data/lib/grape/kaminari/version.rb +1 -1
- data/spec/kaminari_spec.rb +10 -24
- data/spec/paginate_helper_spec.rb +3 -5
- data/spec/spec_helper.rb +2 -6
- metadata +48 -17
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 39954bcb02e83af2783635756ce5d94942edbbd0550c3670e467ba39eb9f2b00
|
|
4
|
+
data.tar.gz: 6c15582e16ae68fa09d7e1fd9480188d96bd7be0cd4c48cdc376cdddc03ed06d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 107535d26da91163d588390787b298b41e886466c6904eb59edbea9cae52643f43c5f4d418976a347b6704cbfdd67f8b0013532c6dfacc98c3db4900058b37fe
|
|
7
|
+
data.tar.gz: dc4b45493fe12f1dfd454437d12714850d97445062296162ab177780ef1c5bf0bbd9bb1b3330fe87fb7a0318ac400d6c1491c9851fabf46f1532c6bb8c17a3e5
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
AllCops:
|
|
2
|
+
TargetRubyVersion: "2.5"
|
|
3
|
+
NewCops: enable
|
|
4
|
+
|
|
5
|
+
Metrics/AbcSize:
|
|
6
|
+
Enabled: false
|
|
7
|
+
Metrics/BlockLength:
|
|
8
|
+
Exclude:
|
|
9
|
+
- spec/**/*_spec.rb
|
|
10
|
+
Metrics/MethodLength:
|
|
11
|
+
Max: 20
|
|
12
|
+
|
|
13
|
+
Naming/FileName:
|
|
14
|
+
Exclude:
|
|
15
|
+
- lib/grape-kaminari.rb
|
|
16
|
+
|
|
17
|
+
Style/Documentation:
|
|
18
|
+
Enabled: false
|
|
19
|
+
Style/FrozenStringLiteralComment:
|
|
20
|
+
Enabled: false
|
|
21
|
+
Style/TrailingCommaInArguments:
|
|
22
|
+
EnforcedStyleForMultiline: consistent_comma
|
|
23
|
+
Style/TrailingCommaInArrayLiteral:
|
|
24
|
+
EnforcedStyleForMultiline: consistent_comma
|
|
25
|
+
Style/TrailingCommaInHashLiteral:
|
|
26
|
+
EnforcedStyleForMultiline: consistent_comma
|
data/.travis.yml
ADDED
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
grape-kaminari (0.2.0)
|
|
5
|
+
grape (>= 1.0)
|
|
6
|
+
kaminari-grape
|
|
7
|
+
|
|
8
|
+
GEM
|
|
9
|
+
remote: https://rubygems.org/
|
|
10
|
+
specs:
|
|
11
|
+
activesupport (6.0.3.2)
|
|
12
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
13
|
+
i18n (>= 0.7, < 2)
|
|
14
|
+
minitest (~> 5.1)
|
|
15
|
+
tzinfo (~> 1.1)
|
|
16
|
+
zeitwerk (~> 2.2, >= 2.2.2)
|
|
17
|
+
ast (2.4.1)
|
|
18
|
+
builder (3.2.4)
|
|
19
|
+
concurrent-ruby (1.1.6)
|
|
20
|
+
diff-lcs (1.3)
|
|
21
|
+
dry-configurable (0.11.5)
|
|
22
|
+
concurrent-ruby (~> 1.0)
|
|
23
|
+
dry-core (~> 0.4, >= 0.4.7)
|
|
24
|
+
dry-equalizer (~> 0.2)
|
|
25
|
+
dry-container (0.7.2)
|
|
26
|
+
concurrent-ruby (~> 1.0)
|
|
27
|
+
dry-configurable (~> 0.1, >= 0.1.3)
|
|
28
|
+
dry-core (0.4.9)
|
|
29
|
+
concurrent-ruby (~> 1.0)
|
|
30
|
+
dry-equalizer (0.3.0)
|
|
31
|
+
dry-inflector (0.2.0)
|
|
32
|
+
dry-logic (1.0.6)
|
|
33
|
+
concurrent-ruby (~> 1.0)
|
|
34
|
+
dry-core (~> 0.2)
|
|
35
|
+
dry-equalizer (~> 0.2)
|
|
36
|
+
dry-types (1.4.0)
|
|
37
|
+
concurrent-ruby (~> 1.0)
|
|
38
|
+
dry-container (~> 0.3)
|
|
39
|
+
dry-core (~> 0.4, >= 0.4.4)
|
|
40
|
+
dry-equalizer (~> 0.3)
|
|
41
|
+
dry-inflector (~> 0.1, >= 0.1.2)
|
|
42
|
+
dry-logic (~> 1.0, >= 1.0.2)
|
|
43
|
+
grape (1.3.3)
|
|
44
|
+
activesupport
|
|
45
|
+
builder
|
|
46
|
+
dry-types (>= 1.1)
|
|
47
|
+
mustermann-grape (~> 1.0.0)
|
|
48
|
+
rack (>= 1.3.0)
|
|
49
|
+
rack-accept
|
|
50
|
+
i18n (1.8.3)
|
|
51
|
+
concurrent-ruby (~> 1.0)
|
|
52
|
+
kaminari-core (1.2.1)
|
|
53
|
+
kaminari-grape (1.0.1)
|
|
54
|
+
grape
|
|
55
|
+
kaminari-core (~> 1.0)
|
|
56
|
+
minitest (5.14.1)
|
|
57
|
+
mustermann (1.1.1)
|
|
58
|
+
ruby2_keywords (~> 0.0.1)
|
|
59
|
+
mustermann-grape (1.0.1)
|
|
60
|
+
mustermann (>= 1.0.0)
|
|
61
|
+
parallel (1.19.2)
|
|
62
|
+
parser (2.7.1.3)
|
|
63
|
+
ast (~> 2.4.0)
|
|
64
|
+
rack (2.2.3)
|
|
65
|
+
rack-accept (0.4.5)
|
|
66
|
+
rack (>= 0.4)
|
|
67
|
+
rack-test (1.1.0)
|
|
68
|
+
rack (>= 1.0, < 3)
|
|
69
|
+
rainbow (3.0.0)
|
|
70
|
+
rake (13.0.1)
|
|
71
|
+
regexp_parser (1.7.1)
|
|
72
|
+
rexml (3.2.4)
|
|
73
|
+
rspec (3.9.0)
|
|
74
|
+
rspec-core (~> 3.9.0)
|
|
75
|
+
rspec-expectations (~> 3.9.0)
|
|
76
|
+
rspec-mocks (~> 3.9.0)
|
|
77
|
+
rspec-core (3.9.2)
|
|
78
|
+
rspec-support (~> 3.9.3)
|
|
79
|
+
rspec-expectations (3.9.2)
|
|
80
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
81
|
+
rspec-support (~> 3.9.0)
|
|
82
|
+
rspec-mocks (3.9.1)
|
|
83
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
84
|
+
rspec-support (~> 3.9.0)
|
|
85
|
+
rspec-support (3.9.3)
|
|
86
|
+
rubocop (0.85.1)
|
|
87
|
+
parallel (~> 1.10)
|
|
88
|
+
parser (>= 2.7.0.1)
|
|
89
|
+
rainbow (>= 2.2.2, < 4.0)
|
|
90
|
+
regexp_parser (>= 1.7)
|
|
91
|
+
rexml
|
|
92
|
+
rubocop-ast (>= 0.0.3)
|
|
93
|
+
ruby-progressbar (~> 1.7)
|
|
94
|
+
unicode-display_width (>= 1.4.0, < 2.0)
|
|
95
|
+
rubocop-ast (0.0.3)
|
|
96
|
+
parser (>= 2.7.0.1)
|
|
97
|
+
ruby-progressbar (1.10.1)
|
|
98
|
+
ruby2_keywords (0.0.2)
|
|
99
|
+
thread_safe (0.3.6)
|
|
100
|
+
tzinfo (1.2.7)
|
|
101
|
+
thread_safe (~> 0.1)
|
|
102
|
+
unicode-display_width (1.7.0)
|
|
103
|
+
zeitwerk (2.3.0)
|
|
104
|
+
|
|
105
|
+
PLATFORMS
|
|
106
|
+
ruby
|
|
107
|
+
|
|
108
|
+
DEPENDENCIES
|
|
109
|
+
bundler
|
|
110
|
+
grape-kaminari!
|
|
111
|
+
rack-test
|
|
112
|
+
rake
|
|
113
|
+
rspec
|
|
114
|
+
rubocop
|
|
115
|
+
|
|
116
|
+
BUNDLED WITH
|
|
117
|
+
2.1.4
|
data/LICENSE.txt
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
3
|
Copyright (c) 2013-2014 Monterail.com LLC
|
|
4
|
+
Copyright (c) 2020 Black Square Media Ltd
|
|
4
5
|
|
|
5
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
6
7
|
this software and associated documentation files (the "Software"), to deal in
|
data/README.md
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
# Grape::Kaminari
|
|
1
|
+
# Grape::Kaminari
|
|
2
2
|
|
|
3
|
-
[
|
|
3
|
+
[](https://travis-ci.org/bsm/grape-kaminari)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
|
|
6
|
+
[kaminari](https://github.com/kaminari/kaminari) paginator integration for [grape](https://github.com/intridea/grape) API framework.
|
|
4
7
|
|
|
5
8
|
## Installation
|
|
6
9
|
|
|
@@ -87,8 +90,4 @@ X-Offset: 10
|
|
|
87
90
|
|
|
88
91
|
## Contributing
|
|
89
92
|
|
|
90
|
-
|
|
91
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
|
92
|
-
3. Commit your changes (`git commit -am 'Add some feature'`)
|
|
93
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
|
94
|
-
5. Create new Pull Request
|
|
93
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/bsm/grape-kaminari.
|
data/Rakefile
CHANGED
data/grape-kaminari.gemspec
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
3
|
require 'grape/kaminari/version'
|
|
5
4
|
|
|
6
5
|
Gem::Specification.new do |spec|
|
|
7
|
-
spec.name =
|
|
6
|
+
spec.name = 'grape-kaminari'
|
|
8
7
|
spec.version = Grape::Kaminari::VERSION
|
|
9
|
-
spec.authors = [
|
|
10
|
-
spec.email = [
|
|
11
|
-
spec.description =
|
|
12
|
-
spec.summary =
|
|
13
|
-
spec.homepage =
|
|
14
|
-
spec.license =
|
|
8
|
+
spec.authors = ['Tymon Tobolski', 'Black Square Media']
|
|
9
|
+
spec.email = ['info@blacksquaremedia.com']
|
|
10
|
+
spec.description = 'kaminari paginator integration for grape API framework'
|
|
11
|
+
spec.summary = 'kaminari integration for grape'
|
|
12
|
+
spec.homepage = ''
|
|
13
|
+
spec.license = 'MIT'
|
|
15
14
|
|
|
16
|
-
spec.files = `git ls-files`.split(
|
|
17
|
-
spec.
|
|
18
|
-
spec.
|
|
19
|
-
spec.
|
|
15
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.start_with?('spec/') }
|
|
16
|
+
spec.test_files = `git ls-files -z -- spec/*`.split("\x0")
|
|
17
|
+
spec.require_paths = ['lib']
|
|
18
|
+
spec.required_ruby_version = '>= 2.5'
|
|
20
19
|
|
|
20
|
+
spec.add_runtime_dependency 'grape', '>= 1.0'
|
|
21
|
+
spec.add_runtime_dependency 'kaminari-grape'
|
|
21
22
|
|
|
22
|
-
spec.
|
|
23
|
-
spec.
|
|
24
|
-
|
|
25
|
-
spec.add_development_dependency
|
|
26
|
-
spec.add_development_dependency
|
|
27
|
-
spec.add_development_dependency 'rspec', '~> 2.9'
|
|
23
|
+
spec.add_development_dependency 'bundler'
|
|
24
|
+
spec.add_development_dependency 'rack-test'
|
|
25
|
+
spec.add_development_dependency 'rake'
|
|
26
|
+
spec.add_development_dependency 'rspec'
|
|
27
|
+
spec.add_development_dependency 'rubocop'
|
|
28
28
|
end
|
data/lib/grape-kaminari.rb
CHANGED
data/lib/grape/kaminari.rb
CHANGED
|
@@ -1,45 +1,51 @@
|
|
|
1
|
-
require
|
|
2
|
-
require
|
|
3
|
-
require
|
|
4
|
-
require
|
|
1
|
+
require 'grape'
|
|
2
|
+
require 'grape/kaminari/version'
|
|
3
|
+
require 'grape/kaminari/max_value_validator'
|
|
4
|
+
require 'kaminari/grape'
|
|
5
5
|
|
|
6
6
|
module Grape
|
|
7
7
|
module Kaminari
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
end
|
|
8
|
+
module HelperMethods # :nodoc:
|
|
9
|
+
def paginate(collection)
|
|
10
|
+
collection.page(params[:page].to_i)
|
|
11
|
+
.per(params[:per_page].to_i)
|
|
12
|
+
.padding(params[:offset].to_i)
|
|
13
|
+
.tap do |data|
|
|
14
|
+
header 'X-Total', data.total_count.to_s
|
|
15
|
+
header 'X-Total-Pages', data.total_pages.to_s
|
|
16
|
+
header 'X-Per-Page', data.limit_value.to_s
|
|
17
|
+
header 'X-Page', data.current_page.to_s
|
|
18
|
+
header 'X-Next-Page', data.next_page.to_s
|
|
19
|
+
header 'X-Prev-Page', data.prev_page.to_s
|
|
20
|
+
header 'X-Offset', params[:offset].to_s
|
|
22
21
|
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
25
|
+
module ClassMethods # :nodoc:
|
|
26
|
+
def paginate(**options)
|
|
27
|
+
options.reverse_merge!(
|
|
28
|
+
per_page: ::Kaminari.config.default_per_page || 10,
|
|
29
|
+
max_per_page: ::Kaminari.config.max_per_page,
|
|
30
|
+
offset: 0,
|
|
31
|
+
)
|
|
32
|
+
params do
|
|
33
|
+
optional :page, type: Integer, default: 1,
|
|
34
|
+
desc: 'Page offset to fetch.'
|
|
35
|
+
optional :per_page, type: Integer, default: options[:per_page],
|
|
36
|
+
desc: 'Number of results to return per page.',
|
|
37
|
+
max_value: options[:max_per_page]
|
|
38
|
+
if options[:offset].is_a? Numeric
|
|
39
|
+
optional :offset, type: Integer, default: options[:offset],
|
|
40
|
+
desc: 'Pad a number of results.'
|
|
40
41
|
end
|
|
41
42
|
end
|
|
42
43
|
end
|
|
43
44
|
end
|
|
45
|
+
|
|
46
|
+
def self.included(base)
|
|
47
|
+
base.helpers HelperMethods
|
|
48
|
+
base.extend ClassMethods
|
|
49
|
+
end
|
|
44
50
|
end
|
|
45
51
|
end
|
|
@@ -1,23 +1,14 @@
|
|
|
1
1
|
module Grape
|
|
2
2
|
module Kaminari
|
|
3
|
-
|
|
4
|
-
Grape::Validations::Base
|
|
5
|
-
else
|
|
6
|
-
Grape::Validations::SingleOptionValidator
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
class MaxValueValidator < base
|
|
3
|
+
class MaxValueValidator < Grape::Validations::Base
|
|
10
4
|
def validate_param!(attr_name, params)
|
|
11
|
-
return unless params[attr_name]
|
|
12
|
-
|
|
13
5
|
attr = params[attr_name]
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
end
|
|
6
|
+
return unless attr && @option && attr > @option
|
|
7
|
+
|
|
8
|
+
raise Grape::Exceptions::Validation.new(
|
|
9
|
+
params: [@scope.full_name(attr_name)],
|
|
10
|
+
message: "must be less than or equal #{@option}",
|
|
11
|
+
)
|
|
21
12
|
end
|
|
22
13
|
end
|
|
23
14
|
end
|
data/spec/kaminari_spec.rb
CHANGED
|
@@ -9,7 +9,6 @@ class PaginatedAPI < Grape::API
|
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
describe Grape::Kaminari do
|
|
12
|
-
|
|
13
12
|
describe 'unpaginated api' do
|
|
14
13
|
subject { Class.new(UnPaginatedAPI) }
|
|
15
14
|
|
|
@@ -23,19 +22,16 @@ describe Grape::Kaminari do
|
|
|
23
22
|
|
|
24
23
|
it 'adds to declared parameters' do
|
|
25
24
|
subject.paginate
|
|
26
|
-
|
|
27
|
-
expect(subject.inheritable_setting.route[:declared_params]).to eq([:page, :per_page, :offset])
|
|
28
|
-
else
|
|
29
|
-
expect(subject.settings[:declared_params]).to eq([:page, :per_page, :offset])
|
|
30
|
-
end
|
|
25
|
+
expect(subject.inheritable_setting.route[:declared_params]).to eq(%i[page per_page offset])
|
|
31
26
|
end
|
|
32
27
|
|
|
33
28
|
describe 'descriptions, validation, and defaults' do
|
|
29
|
+
let(:params) { subject.routes.first.params }
|
|
30
|
+
|
|
34
31
|
before do
|
|
35
32
|
subject.paginate
|
|
36
|
-
subject.get
|
|
33
|
+
subject.get('/') {}
|
|
37
34
|
end
|
|
38
|
-
let(:params) {subject.routes.first.route_params}
|
|
39
35
|
|
|
40
36
|
it 'does not require :page' do
|
|
41
37
|
expect(params['page'][:required]).to eq(false)
|
|
@@ -84,21 +80,18 @@ describe Grape::Kaminari do
|
|
|
84
80
|
it 'defaults :offset to 0' do
|
|
85
81
|
expect(params['offset'][:default]).to eq(0)
|
|
86
82
|
end
|
|
87
|
-
|
|
88
|
-
|
|
89
83
|
end
|
|
90
|
-
|
|
91
84
|
end
|
|
92
85
|
|
|
93
86
|
describe 'custom paginated api' do
|
|
94
87
|
subject { Class.new(PaginatedAPI) }
|
|
95
|
-
|
|
88
|
+
let(:app) { subject }
|
|
89
|
+
let(:params) { subject.routes.first.params }
|
|
96
90
|
|
|
97
91
|
before do
|
|
98
|
-
subject.paginate per_page:99, max_per_page: 999, offset: 9
|
|
99
|
-
subject.get
|
|
92
|
+
subject.paginate per_page: 99, max_per_page: 999, offset: 9
|
|
93
|
+
subject.get('/') {}
|
|
100
94
|
end
|
|
101
|
-
let(:params) {subject.routes.first.route_params}
|
|
102
95
|
|
|
103
96
|
it 'defaults :per_page to customized value' do
|
|
104
97
|
expect(params['per_page'][:default]).to eq(99)
|
|
@@ -112,13 +105,12 @@ describe Grape::Kaminari do
|
|
|
112
105
|
it 'ensures :per_page is within :max_value' do
|
|
113
106
|
get('/', page: 1, per_page: 1_000)
|
|
114
107
|
expect(last_response.status).to eq 400
|
|
115
|
-
expect(last_response.body).to match
|
|
108
|
+
expect(last_response.body).to match(/per_page must be less than or equal 999/)
|
|
116
109
|
end
|
|
117
110
|
|
|
118
111
|
it 'defaults :offset to customized value' do
|
|
119
112
|
expect(params['offset'][:default]).to eq(9)
|
|
120
113
|
end
|
|
121
|
-
|
|
122
114
|
end
|
|
123
115
|
|
|
124
116
|
describe 'paginated api without :offset' do
|
|
@@ -126,13 +118,7 @@ describe Grape::Kaminari do
|
|
|
126
118
|
|
|
127
119
|
it 'excludes :offset from declared params' do
|
|
128
120
|
subject.paginate offset: false
|
|
129
|
-
|
|
130
|
-
expect(subject.inheritable_setting.route[:declared_params]).not_to include(:offset)
|
|
131
|
-
else
|
|
132
|
-
expect(subject.settings[:declared_params]).not_to include(:offset)
|
|
133
|
-
end
|
|
121
|
+
expect(subject.inheritable_setting.route[:declared_params]).not_to include(:offset)
|
|
134
122
|
end
|
|
135
|
-
|
|
136
123
|
end
|
|
137
|
-
|
|
138
124
|
end
|
|
@@ -17,12 +17,13 @@ end
|
|
|
17
17
|
|
|
18
18
|
describe Grape::Kaminari do
|
|
19
19
|
subject { PaginatedAPI.new }
|
|
20
|
-
def app
|
|
20
|
+
def app
|
|
21
|
+
subject
|
|
22
|
+
end
|
|
21
23
|
let(:json) { JSON.parse(last_response.body) }
|
|
22
24
|
let(:header) { last_response.header }
|
|
23
25
|
|
|
24
26
|
describe 'paginated helper' do
|
|
25
|
-
|
|
26
27
|
it 'returns the first page' do
|
|
27
28
|
get '/', page: 1, per_page: 3
|
|
28
29
|
expect(json).to eq [1, 2, 3]
|
|
@@ -50,8 +51,5 @@ describe Grape::Kaminari do
|
|
|
50
51
|
expect(header['X-Prev-Page']).to eq '2'
|
|
51
52
|
expect(header['X-Offset']).to eq '1'
|
|
52
53
|
end
|
|
53
|
-
|
|
54
54
|
end
|
|
55
|
-
|
|
56
|
-
|
|
57
55
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
2
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
|
3
1
|
require 'rspec'
|
|
4
|
-
require 'kaminari'
|
|
5
|
-
require 'grape'
|
|
6
2
|
require 'grape-kaminari'
|
|
7
3
|
require 'rack/test'
|
|
8
4
|
|
|
9
5
|
# Requires supporting files with custom matchers and macros, etc,
|
|
10
6
|
# in ./support/ and its subdirectories.
|
|
11
|
-
Dir[
|
|
7
|
+
Dir[File.expand_path('./support/**/*.rb', __dir__)].sort.each { |f| require f }
|
|
12
8
|
|
|
13
9
|
I18n.enforce_available_locales = false
|
|
14
10
|
|
|
15
11
|
RSpec.configure do |config|
|
|
16
12
|
config.include Rack::Test::Methods
|
|
17
|
-
config.
|
|
13
|
+
config.raise_errors_for_deprecations!
|
|
18
14
|
config.order = 'random'
|
|
19
15
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: grape-kaminari
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tymon Tobolski
|
|
8
|
+
- Black Square Media
|
|
8
9
|
autorequire:
|
|
9
10
|
bindir: bin
|
|
10
11
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
+
date: 2020-06-18 00:00:00.000000000 Z
|
|
12
13
|
dependencies:
|
|
13
14
|
- !ruby/object:Gem::Dependency
|
|
14
15
|
name: grape
|
|
@@ -16,16 +17,16 @@ dependencies:
|
|
|
16
17
|
requirements:
|
|
17
18
|
- - ">="
|
|
18
19
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0'
|
|
20
|
+
version: '1.0'
|
|
20
21
|
type: :runtime
|
|
21
22
|
prerelease: false
|
|
22
23
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
24
|
requirements:
|
|
24
25
|
- - ">="
|
|
25
26
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0'
|
|
27
|
+
version: '1.0'
|
|
27
28
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: kaminari
|
|
29
|
+
name: kaminari-grape
|
|
29
30
|
requirement: !ruby/object:Gem::Requirement
|
|
30
31
|
requirements:
|
|
31
32
|
- - ">="
|
|
@@ -42,16 +43,30 @@ dependencies:
|
|
|
42
43
|
name: bundler
|
|
43
44
|
requirement: !ruby/object:Gem::Requirement
|
|
44
45
|
requirements:
|
|
45
|
-
- - "
|
|
46
|
+
- - ">="
|
|
46
47
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
48
|
+
version: '0'
|
|
48
49
|
type: :development
|
|
49
50
|
prerelease: false
|
|
50
51
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
52
|
requirements:
|
|
52
|
-
- - "
|
|
53
|
+
- - ">="
|
|
53
54
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
55
|
+
version: '0'
|
|
56
|
+
- !ruby/object:Gem::Dependency
|
|
57
|
+
name: rack-test
|
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
|
59
|
+
requirements:
|
|
60
|
+
- - ">="
|
|
61
|
+
- !ruby/object:Gem::Version
|
|
62
|
+
version: '0'
|
|
63
|
+
type: :development
|
|
64
|
+
prerelease: false
|
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
66
|
+
requirements:
|
|
67
|
+
- - ">="
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: '0'
|
|
55
70
|
- !ruby/object:Gem::Dependency
|
|
56
71
|
name: rake
|
|
57
72
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -70,25 +85,42 @@ dependencies:
|
|
|
70
85
|
name: rspec
|
|
71
86
|
requirement: !ruby/object:Gem::Requirement
|
|
72
87
|
requirements:
|
|
73
|
-
- - "
|
|
88
|
+
- - ">="
|
|
89
|
+
- !ruby/object:Gem::Version
|
|
90
|
+
version: '0'
|
|
91
|
+
type: :development
|
|
92
|
+
prerelease: false
|
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
94
|
+
requirements:
|
|
95
|
+
- - ">="
|
|
96
|
+
- !ruby/object:Gem::Version
|
|
97
|
+
version: '0'
|
|
98
|
+
- !ruby/object:Gem::Dependency
|
|
99
|
+
name: rubocop
|
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
|
101
|
+
requirements:
|
|
102
|
+
- - ">="
|
|
74
103
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
104
|
+
version: '0'
|
|
76
105
|
type: :development
|
|
77
106
|
prerelease: false
|
|
78
107
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
108
|
requirements:
|
|
80
|
-
- - "
|
|
109
|
+
- - ">="
|
|
81
110
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
111
|
+
version: '0'
|
|
83
112
|
description: kaminari paginator integration for grape API framework
|
|
84
113
|
email:
|
|
85
|
-
-
|
|
114
|
+
- info@blacksquaremedia.com
|
|
86
115
|
executables: []
|
|
87
116
|
extensions: []
|
|
88
117
|
extra_rdoc_files: []
|
|
89
118
|
files:
|
|
90
119
|
- ".gitignore"
|
|
120
|
+
- ".rubocop.yml"
|
|
121
|
+
- ".travis.yml"
|
|
91
122
|
- Gemfile
|
|
123
|
+
- Gemfile.lock
|
|
92
124
|
- LICENSE.txt
|
|
93
125
|
- README.md
|
|
94
126
|
- Rakefile
|
|
@@ -112,15 +144,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
112
144
|
requirements:
|
|
113
145
|
- - ">="
|
|
114
146
|
- !ruby/object:Gem::Version
|
|
115
|
-
version: '
|
|
147
|
+
version: '2.5'
|
|
116
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
149
|
requirements:
|
|
118
150
|
- - ">="
|
|
119
151
|
- !ruby/object:Gem::Version
|
|
120
152
|
version: '0'
|
|
121
153
|
requirements: []
|
|
122
|
-
|
|
123
|
-
rubygems_version: 2.4.5.1
|
|
154
|
+
rubygems_version: 3.1.4
|
|
124
155
|
signing_key:
|
|
125
156
|
specification_version: 4
|
|
126
157
|
summary: kaminari integration for grape
|