my_api_client 0.22.0 → 0.24.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,122 +1,177 @@
1
1
  # Change log
2
2
 
3
+ ## v0.24.0 (Nov 07, 2022)
4
+
5
+ ### Feature
6
+
7
+ - [#792](https://github.com/ryz310/my_api_client/pull/792) Support response header error handling ([@okumud](https://github.com/okumud))
8
+
9
+ ### Rubocop Challenge
10
+
11
+ - [#757](https://github.com/ryz310/my_api_client/pull/757) RSpec/Rails/HaveHttpStatus-20220712233101 ([@ryz310](https://github.com/ryz310))
12
+ - [#777](https://github.com/ryz310/my_api_client/pull/777) RSpec/ClassCheck-20220912233101 ([@ryz310](https://github.com/ryz310))
13
+ - [#790](https://github.com/ryz310/my_api_client/pull/790) RSpec/Rails/InferredSpecType-20221023233100 ([@ryz310](https://github.com/ryz310))
14
+
15
+ ### Dependabot
16
+
17
+ - [#758](https://github.com/ryz310/my_api_client/pull/758) ryz310/dependabot/bundler/rubocop-performance-1.14.3 ([@ryz310](https://github.com/ryz310))
18
+ - [#772](https://github.com/ryz310/my_api_client/pull/772) Bump pry-byebug from 3.10.0 to 3.10.1 ([@ryz310](https://github.com/ryz310))
19
+ - [#773](https://github.com/ryz310/my_api_client/pull/773) Bump webmock from 3.17.1 to 3.18.1 ([@ryz310](https://github.com/ryz310))
20
+ - [#775](https://github.com/ryz310/my_api_client/pull/775) Bump activesupport from 7.0.3.1 to 7.0.4 ([@ryz310](https://github.com/ryz310))
21
+ - [#778](https://github.com/ryz310/my_api_client/pull/778) Bump rspec_junit_formatter from 0.5.1 to 0.6.0 ([@ryz310](https://github.com/ryz310))
22
+ - [#780](https://github.com/ryz310/my_api_client/pull/780) Bump faraday from 2.5.2 to 2.6.0 ([@ryz310](https://github.com/ryz310))
23
+ - [#791](https://github.com/ryz310/my_api_client/pull/791) Bump rspec from 3.11.0 to 3.12.0 ([@ryz310](https://github.com/ryz310))
24
+
25
+ ### Misc
26
+
27
+ - [#784](https://github.com/ryz310/my_api_client/pull/784) Pin the version of the jets gem ([@ryz310](https://github.com/ryz310))
28
+
29
+ ## v0.23.0 (Jun 08, 2022)
30
+
31
+ ### Feature
32
+
33
+ - [#731](https://github.com/ryz310/my_api_client/pull/731) Allow the error class to be initialized with no arguments ([@ryz310](https://github.com/ryz310))
34
+
35
+ ### Breaking Change
36
+
37
+ - [#711](https://github.com/ryz310/my_api_client/pull/711) Bump up ruby version ([@ryz310](https://github.com/ryz310))
38
+
39
+ ### Rubocop Challenge
40
+
41
+ - [#698](https://github.com/ryz310/my_api_client/pull/698) RSpec/VerifiedDoubleReference-20220419233100 ([@ryz310](https://github.com/ryz310))
42
+ - [#700](https://github.com/ryz310/my_api_client/pull/700) Style/FetchEnvVar-20220421233101 ([@ryz310](https://github.com/ryz310))
43
+ - [#728](https://github.com/ryz310/my_api_client/pull/728) Re-generate .rubocop_todo.yml with RuboCop v1.30.1 ([@ryz310](https://github.com/ryz310))
44
+
45
+ ### Dependabot
46
+
47
+ - [#658](https://github.com/ryz310/my_api_client/pull/658) ryz310/dependabot/bundler/rspec_junit_formatter-0.5.1 ([@ryz310](https://github.com/ryz310))
48
+ - [#666](https://github.com/ryz310/my_api_client/pull/666) Bump bugsnag from 6.24.1 to 6.24.2 ([@ryz310](https://github.com/ryz310))
49
+ - [#667](https://github.com/ryz310/my_api_client/pull/667) Bump rubocop-rspec from 2.7.0 to 2.8.0 ([@ryz310](https://github.com/ryz310))
50
+ - [#671](https://github.com/ryz310/my_api_client/pull/671) Bump rspec from 3.10.0 to 3.11.0 ([@ryz310](https://github.com/ryz310))
51
+ - [#678](https://github.com/ryz310/my_api_client/pull/678) Bump faraday from 1.10.0 to 2.2.0 ([@ryz310](https://github.com/ryz310))
52
+ - [#702](https://github.com/ryz310/my_api_client/pull/702) Bump jsonpath from 1.1.0 to 1.1.2 ([@ryz310](https://github.com/ryz310))
53
+ - [#715](https://github.com/ryz310/my_api_client/pull/715) Bump activesupport from 7.0.2.4 to 7.0.3 ([@ryz310](https://github.com/ryz310))
54
+ - [#726](https://github.com/ryz310/my_api_client/pull/726) Bump yard from 0.9.27 to 0.9.28 ([@ryz310](https://github.com/ryz310))
55
+ - [#729](https://github.com/ryz310/my_api_client/pull/729) Bump rubocop-performance from 1.14.1 to 1.14.2 ([@ryz310](https://github.com/ryz310))
56
+ - [#730](https://github.com/ryz310/my_api_client/pull/730) Bump sawyer from 0.9.1 to 0.9.2 ([@ryz310](https://github.com/ryz310))
57
+
3
58
  ## v0.22.0 (Dec 26, 2021)
4
59
 
5
60
  ### Feature
6
61
 
7
- * [#648](https://github.com/ryz310/my_api_client/pull/648) Support Rails 7.0 ([@ryz310](https://github.com/ryz310))
62
+ - [#648](https://github.com/ryz310/my_api_client/pull/648) Support Rails 7.0 ([@ryz310](https://github.com/ryz310))
8
63
 
9
64
  ### Rubocop Challenge
10
65
 
11
- * [#617](https://github.com/ryz310/my_api_client/pull/617) RSpec/ExcessiveDocstringSpacing-20210922233114 ([@ryz310](https://github.com/ryz310))
12
- * [#623](https://github.com/ryz310/my_api_client/pull/623) Security/IoMethods-20210930233112 ([@ryz310](https://github.com/ryz310))
13
- * [#624](https://github.com/ryz310/my_api_client/pull/624) ryz310/rubocop-challenge/20211004233152 ([@ryz310](https://github.com/ryz310))
14
- * [#638](https://github.com/ryz310/my_api_client/pull/638) Gemspec/RequireMFA-20211115233105 ([@ryz310](https://github.com/ryz310))
66
+ - [#617](https://github.com/ryz310/my_api_client/pull/617) RSpec/ExcessiveDocstringSpacing-20210922233114 ([@ryz310](https://github.com/ryz310))
67
+ - [#623](https://github.com/ryz310/my_api_client/pull/623) Security/IoMethods-20210930233112 ([@ryz310](https://github.com/ryz310))
68
+ - [#624](https://github.com/ryz310/my_api_client/pull/624) Re-generate .rubocop_todo.yml with RuboCop v1.22.1 ([@ryz310](https://github.com/ryz310))
69
+ - [#638](https://github.com/ryz310/my_api_client/pull/638) Gemspec/RequireMFA-20211115233105 ([@ryz310](https://github.com/ryz310))
15
70
 
16
71
  ### Dependabot
17
72
 
18
- * [#576](https://github.com/ryz310/my_api_client/pull/576) Bump bugsnag from 6.21.0 to 6.22.1 ([@ryz310](https://github.com/ryz310))
19
- * [#612](https://github.com/ryz310/my_api_client/pull/612) ryz310/dependabot/bundler/faraday-1.8.0 ([@ryz310](https://github.com/ryz310))
20
- * [#625](https://github.com/ryz310/my_api_client/pull/625) ryz310/dependabot/bundler/bugsnag-6.24.0 ([@ryz310](https://github.com/ryz310))
21
- * [#635](https://github.com/ryz310/my_api_client/pull/635) Bump rubocop-performance from 1.11.5 to 1.12.0 ([@ryz310](https://github.com/ryz310))
22
- * [#636](https://github.com/ryz310/my_api_client/pull/636) ryz310/dependabot/bundler/rubocop-rspec-2.6.0 ([@ryz310](https://github.com/ryz310))
23
- * [#639](https://github.com/ryz310/my_api_client/pull/639) Bump yard from 0.9.26 to 0.9.27 ([@ryz310](https://github.com/ryz310))
24
- * [#640](https://github.com/ryz310/my_api_client/pull/640) Bump bugsnag from 6.24.0 to 6.24.1 ([@ryz310](https://github.com/ryz310))
25
- * [#641](https://github.com/ryz310/my_api_client/pull/641) Bump activesupport from 6.1.4.1 to 6.1.4.2 ([@ryz310](https://github.com/ryz310))
26
- * [#644](https://github.com/ryz310/my_api_client/pull/644) ryz310/dependabot/bundler/activesupport-6.1.4.4 ([@ryz310](https://github.com/ryz310))
73
+ - [#576](https://github.com/ryz310/my_api_client/pull/576) Bump bugsnag from 6.21.0 to 6.22.1 ([@ryz310](https://github.com/ryz310))
74
+ - [#612](https://github.com/ryz310/my_api_client/pull/612) ryz310/dependabot/bundler/faraday-1.8.0 ([@ryz310](https://github.com/ryz310))
75
+ - [#625](https://github.com/ryz310/my_api_client/pull/625) ryz310/dependabot/bundler/bugsnag-6.24.0 ([@ryz310](https://github.com/ryz310))
76
+ - [#635](https://github.com/ryz310/my_api_client/pull/635) Bump rubocop-performance from 1.11.5 to 1.12.0 ([@ryz310](https://github.com/ryz310))
77
+ - [#636](https://github.com/ryz310/my_api_client/pull/636) ryz310/dependabot/bundler/rubocop-rspec-2.6.0 ([@ryz310](https://github.com/ryz310))
78
+ - [#639](https://github.com/ryz310/my_api_client/pull/639) Bump yard from 0.9.26 to 0.9.27 ([@ryz310](https://github.com/ryz310))
79
+ - [#640](https://github.com/ryz310/my_api_client/pull/640) Bump bugsnag from 6.24.0 to 6.24.1 ([@ryz310](https://github.com/ryz310))
80
+ - [#641](https://github.com/ryz310/my_api_client/pull/641) Bump activesupport from 6.1.4.1 to 6.1.4.2 ([@ryz310](https://github.com/ryz310))
81
+ - [#644](https://github.com/ryz310/my_api_client/pull/644) ryz310/dependabot/bundler/activesupport-6.1.4.4 ([@ryz310](https://github.com/ryz310))
27
82
 
28
83
  ## v0.21.0 (Aug 07, 2021)
29
84
 
30
85
  ### Feature
31
86
 
32
- * [#570](https://github.com/ryz310/my_api_client/pull/570) Stubbing status code on testing ([@ryz310](https://github.com/ryz310))
87
+ - [#570](https://github.com/ryz310/my_api_client/pull/570) Stubbing status code on testing ([@ryz310](https://github.com/ryz310))
33
88
 
34
89
  ### Breaking Change
35
90
 
36
- * [#561](https://github.com/ryz310/my_api_client/pull/561) Goodbye Ruby 2.5.x! ([@ryz310](https://github.com/ryz310))
91
+ - [#561](https://github.com/ryz310/my_api_client/pull/561) Goodbye Ruby 2.5.x! ([@ryz310](https://github.com/ryz310))
37
92
 
38
93
  ### Rubocop Challenge
39
94
 
40
- * [#523](https://github.com/ryz310/my_api_client/pull/523) Layout/LineEndStringConcatenationIndentation-20210629233103 ([@ryz310](https://github.com/ryz310))
41
- * [#562](https://github.com/ryz310/my_api_client/pull/562) Re-generate .rubocop_todo.yml with RuboCop v1.18.4 ([@ryz310](https://github.com/ryz310))
95
+ - [#523](https://github.com/ryz310/my_api_client/pull/523) Layout/LineEndStringConcatenationIndentation-20210629233103 ([@ryz310](https://github.com/ryz310))
96
+ - [#562](https://github.com/ryz310/my_api_client/pull/562) Re-generate .rubocop_todo.yml with RuboCop v1.18.4 ([@ryz310](https://github.com/ryz310))
42
97
 
43
98
  ### Misc
44
99
 
45
- * [#509](https://github.com/ryz310/my_api_client/pull/509) Fix the problem of mimemagic gem dependency ([@ryz310](https://github.com/ryz310))
46
- * [#559](https://github.com/ryz310/my_api_client/pull/559) Fix gemfiles compatibility ([@ryz310](https://github.com/ryz310))
100
+ - [#509](https://github.com/ryz310/my_api_client/pull/509) Fix the problem of mimemagic gem dependency ([@ryz310](https://github.com/ryz310))
101
+ - [#559](https://github.com/ryz310/my_api_client/pull/559) Fix gemfiles compatibility ([@ryz310](https://github.com/ryz310))
47
102
 
48
103
  ## v0.20.0 (Mar 07, 2021)
49
104
 
50
105
  ### Feature
51
106
 
52
- * [#456](https://github.com/ryz310/my_api_client/pull/456) Stubbed pagination ([@ryz310](https://github.com/ryz310))
107
+ - [#456](https://github.com/ryz310/my_api_client/pull/456) Stubbed pagination ([@ryz310](https://github.com/ryz310))
53
108
 
54
109
  ### Rubocop Challenge
55
110
 
56
- * [#414](https://github.com/ryz310/my_api_client/pull/414) Style/StringConcatenation-20210106033935 ([@ryz310](https://github.com/ryz310))
57
- * [#416](https://github.com/ryz310/my_api_client/pull/416) Style/HashTransformValues-20210106233116 ([@ryz310](https://github.com/ryz310))
58
- * [#433](https://github.com/ryz310/my_api_client/pull/433) Lint/SymbolConversion-20210128233108 ([@ryz310](https://github.com/ryz310))
59
- * [#452](https://github.com/ryz310/my_api_client/pull/452) Re-generate .rubocop_todo.yml with RuboCop v1.11.0 ([@ryz310](https://github.com/ryz310))
111
+ - [#414](https://github.com/ryz310/my_api_client/pull/414) Style/StringConcatenation-20210106033935 ([@ryz310](https://github.com/ryz310))
112
+ - [#416](https://github.com/ryz310/my_api_client/pull/416) Style/HashTransformValues-20210106233116 ([@ryz310](https://github.com/ryz310))
113
+ - [#433](https://github.com/ryz310/my_api_client/pull/433) Lint/SymbolConversion-20210128233108 ([@ryz310](https://github.com/ryz310))
114
+ - [#452](https://github.com/ryz310/my_api_client/pull/452) Re-generate .rubocop_todo.yml with RuboCop v1.11.0 ([@ryz310](https://github.com/ryz310))
60
115
 
61
116
  ### Misc
62
117
 
63
- * [#436](https://github.com/ryz310/my_api_client/pull/436) Use Circle CI matrix ([@ryz310](https://github.com/ryz310))
118
+ - [#436](https://github.com/ryz310/my_api_client/pull/436) Use Circle CI matrix ([@ryz310](https://github.com/ryz310))
64
119
 
65
120
  ## v0.19.0 (Jan 04, 2021)
66
121
 
67
122
  ### Feature
68
123
 
69
- * [#402](https://github.com/ryz310/my_api_client/pull/402) Support Ruby 3.0 and Rails 6.1 ([@ryz310](https://github.com/ryz310))
124
+ - [#402](https://github.com/ryz310/my_api_client/pull/402) Support Ruby 3.0 and Rails 6.1 ([@ryz310](https://github.com/ryz310))
70
125
 
71
126
  ### Rubocop Challenge
72
127
 
73
- * [#400](https://github.com/ryz310/my_api_client/pull/400) Re-generate .rubocop_todo.yml with RuboCop v1.7.0 ([@ryz310](https://github.com/ryz310))
128
+ - [#400](https://github.com/ryz310/my_api_client/pull/400) Re-generate .rubocop_todo.yml with RuboCop v1.7.0 ([@ryz310](https://github.com/ryz310))
74
129
 
75
130
  ## v0.18.0 (Dec 04, 2020)
76
131
 
77
132
  ### Feature
78
133
 
79
- * [#381](https://github.com/ryz310/my_api_client/pull/381) Add endpoint option to the generator ([@ryz310](https://github.com/ryz310))
134
+ - [#381](https://github.com/ryz310/my_api_client/pull/381) Add endpoint option to the generator ([@ryz310](https://github.com/ryz310))
80
135
 
81
136
  ### Breaking Change
82
137
 
83
- * [#365](https://github.com/ryz310/my_api_client/pull/365) End of support for Ruby 2.4 and Rails 4.2 ([@ryz310](https://github.com/ryz310))
138
+ - [#365](https://github.com/ryz310/my_api_client/pull/365) End of support for Ruby 2.4 and Rails 4.2 ([@ryz310](https://github.com/ryz310))
84
139
 
85
140
  ### Rubocop Challenge
86
141
 
87
- * [#383](https://github.com/ryz310/my_api_client/pull/383) Re-generate .rubocop_todo.yml with RuboCop v1.5.1 ([@ryz310](https://github.com/ryz310))
142
+ - [#383](https://github.com/ryz310/my_api_client/pull/383) Re-generate .rubocop_todo.yml with RuboCop v1.5.1 ([@ryz310](https://github.com/ryz310))
88
143
 
89
144
  ## v0.17.0 (Sep 20, 2020)
90
145
 
91
146
  ### Feature
92
147
 
93
- * [#303](https://github.com/ryz310/my_api_client/pull/303) Change the duration format to milliseconds ([@ryz310](https://github.com/ryz310))
94
- * [#308](https://github.com/ryz310/my_api_client/pull/308) Add testing for api client generators ([@ryz310](https://github.com/ryz310))
148
+ - [#303](https://github.com/ryz310/my_api_client/pull/303) Change the duration format to milliseconds ([@ryz310](https://github.com/ryz310))
149
+ - [#308](https://github.com/ryz310/my_api_client/pull/308) Add testing for api client generators ([@ryz310](https://github.com/ryz310))
95
150
 
96
151
  ### Rubocop Challenge
97
152
 
98
- * [#311](https://github.com/ryz310/my_api_client/pull/311) Style/GlobalStdStream-20200906233350 ([@ryz310](https://github.com/ryz310))
99
- * [#312](https://github.com/ryz310/my_api_client/pull/312) Style/StringConcatenation-20200907233020 ([@ryz310](https://github.com/ryz310))
100
- * [#313](https://github.com/ryz310/my_api_client/pull/313) Style/HashTransformValues-20200908233016 ([@ryz310](https://github.com/ryz310))
101
- * [#316](https://github.com/ryz310/my_api_client/pull/316) Layout/EmptyLinesAroundAttributeAccessor-20200909233021 ([@ryz310](https://github.com/ryz310))
102
- * [#320](https://github.com/ryz310/my_api_client/pull/320) Re-generate .rubocop_todo.yml with RuboCop v0.91.0 ([@ryz310](https://github.com/ryz310))
153
+ - [#311](https://github.com/ryz310/my_api_client/pull/311) Style/GlobalStdStream-20200906233350 ([@ryz310](https://github.com/ryz310))
154
+ - [#312](https://github.com/ryz310/my_api_client/pull/312) Style/StringConcatenation-20200907233020 ([@ryz310](https://github.com/ryz310))
155
+ - [#313](https://github.com/ryz310/my_api_client/pull/313) Style/HashTransformValues-20200908233016 ([@ryz310](https://github.com/ryz310))
156
+ - [#316](https://github.com/ryz310/my_api_client/pull/316) Layout/EmptyLinesAroundAttributeAccessor-20200909233021 ([@ryz310](https://github.com/ryz310))
157
+ - [#320](https://github.com/ryz310/my_api_client/pull/320) Re-generate .rubocop_todo.yml with RuboCop v0.91.0 ([@ryz310](https://github.com/ryz310))
103
158
 
104
159
  ## v0.16.1 (Aug 27, 2020)
105
160
 
106
161
  ### Feature
107
162
 
108
- * [#296](https://github.com/ryz310/my_api_client/pull/296) Support HTTP PUT method ([@ryz310](https://github.com/ryz310))
163
+ - [#296](https://github.com/ryz310/my_api_client/pull/296) Support HTTP PUT method ([@ryz310](https://github.com/ryz310))
109
164
 
110
165
  ### Rubocop Challenge
111
166
 
112
- * [#256](https://github.com/ryz310/my_api_client/pull/256) Performance/StartWith-20200523233027 ([@ryz310](https://github.com/ryz310))
113
- * [#268](https://github.com/ryz310/my_api_client/pull/268) Lint/RedundantCopDisableDirective-20200622233019 ([@ryz310](https://github.com/ryz310))
114
- * [#289](https://github.com/ryz310/my_api_client/pull/289) Re-generate .rubocop_todo.yml with RuboCop v0.89.1 ([@ryz310](https://github.com/ryz310))
115
- * [#293](https://github.com/ryz310/my_api_client/pull/293) RSpec/LeadingSubject-20200817233022 ([@ryz310](https://github.com/ryz310))
167
+ - [#256](https://github.com/ryz310/my_api_client/pull/256) Performance/StartWith-20200523233027 ([@ryz310](https://github.com/ryz310))
168
+ - [#268](https://github.com/ryz310/my_api_client/pull/268) Lint/RedundantCopDisableDirective-20200622233019 ([@ryz310](https://github.com/ryz310))
169
+ - [#289](https://github.com/ryz310/my_api_client/pull/289) Re-generate .rubocop_todo.yml with RuboCop v0.89.1 ([@ryz310](https://github.com/ryz310))
170
+ - [#293](https://github.com/ryz310/my_api_client/pull/293) RSpec/LeadingSubject-20200817233022 ([@ryz310](https://github.com/ryz310))
116
171
 
117
172
  ### Misc
118
173
 
119
- * [#271](https://github.com/ryz310/my_api_client/pull/271) Minor fixes ([@ryz310](https://github.com/ryz310))
174
+ - [#271](https://github.com/ryz310/my_api_client/pull/271) Minor fixes ([@ryz310](https://github.com/ryz310))
120
175
 
121
176
  ## v0.16.0 (Mar 29, 2020)
122
177
 
@@ -137,6 +192,7 @@ def my_error_handling
137
192
  # No exception is raised. You can raise an error if necessary.
138
193
  end
139
194
  ```
195
+
140
196
  ```rb
141
197
  error_handling status_code: 500..599 do |_params, logger|
142
198
  # Executes this block when an error is detected.
@@ -154,6 +210,7 @@ def my_error_handling
154
210
  # And then raise `MyApiClient::Error`.
155
211
  end
156
212
  ```
213
+
157
214
  ```rb
158
215
  error_handling status_code: 500..599 do |params, logger|
159
216
  # Executes this block when an error is detected.
@@ -171,74 +228,80 @@ See: https://github.com/ryz310/my_api_client/blob/master/lib/my_api_client/defau
171
228
 
172
229
  ### Misc
173
230
 
174
- * [#229](https://github.com/ryz310/my_api_client/pull/229) Edit dependabot configuration ([@ryz310](https://github.com/ryz310))
231
+ - [#229](https://github.com/ryz310/my_api_client/pull/229) Edit dependabot configuration ([@ryz310](https://github.com/ryz310))
175
232
 
176
233
  ## v0.15.0 (Mar 21, 2020)
177
234
 
178
235
  ### Feature
179
236
 
180
- * [#220](https://github.com/ryz310/my_api_client/pull/220) Pageable HTTP request ([@ryz310](https://github.com/ryz310))
181
- * Add `#pageable_get` method (alias: `#pget`)
182
- * For example:
183
- * API client definition
184
- ```ruby
185
- class MyPaginationApiClient < ApplicationApiClient
186
- endpoint 'https://example.com/v1'
187
-
188
- # GET pagination?page=1
189
- def pagination
190
- pageable_get 'pagination', paging: '$.links.next', headers: headers, query: { page: 1 }
191
- end
192
-
193
- private
194
-
195
- def headers
196
- { 'Content-Type': 'application/json;charset=UTF-8' }
197
- end
198
- end
199
- ```
200
- * The pagination API response
201
- ```json
202
- {
203
- "links": {
204
- "next": "https://example.com/pagination?page=3",
205
- "previous": "https://example.com/pagination?page=1",
206
- },
207
- "page": 2
208
- }
209
- ```
210
- * Usage
211
- ```ruby
212
- api_clinet = MyPaginationApiClient.new
213
- api_clinet.pagination.each do |response|
214
- # Do something.
215
- end
216
-
217
- p = api_clinet.pagination
218
- p.next # => 1st page result
219
- p.next # => 2nd page result
220
- p.next # => 3rd page result
221
- ```
222
- * [#223](https://github.com/ryz310/my_api_client/pull/223) Use Enumerator::Lazy instead of Enumerator ([@ryz310](https://github.com/ryz310))
237
+ - [#220](https://github.com/ryz310/my_api_client/pull/220) Pageable HTTP request ([@ryz310](https://github.com/ryz310))
238
+
239
+ - Add `#pageable_get` method (alias: `#pget`)
240
+ - For example:
241
+
242
+ - API client definition
243
+
244
+ ```ruby
245
+ class MyPaginationApiClient < ApplicationApiClient
246
+ endpoint 'https://example.com/v1'
247
+
248
+ # GET pagination?page=1
249
+ def pagination
250
+ pageable_get 'pagination', paging: '$.links.next', headers: headers, query: { page: 1 }
251
+ end
252
+
253
+ private
254
+
255
+ def headers
256
+ { 'Content-Type': 'application/json;charset=UTF-8' }
257
+ end
258
+ end
259
+ ```
260
+
261
+ - The pagination API response
262
+ ```json
263
+ {
264
+ "links": {
265
+ "next": "https://example.com/pagination?page=3",
266
+ "previous": "https://example.com/pagination?page=1"
267
+ },
268
+ "page": 2
269
+ }
270
+ ```
271
+ - Usage
272
+
273
+ ```ruby
274
+ api_clinet = MyPaginationApiClient.new
275
+ api_clinet.pagination.each do |response|
276
+ # Do something.
277
+ end
278
+
279
+ p = api_clinet.pagination
280
+ p.next # => 1st page result
281
+ p.next # => 2nd page result
282
+ p.next # => 3rd page result
283
+ ```
284
+
285
+ - [#223](https://github.com/ryz310/my_api_client/pull/223) Use Enumerator::Lazy instead of Enumerator ([@ryz310](https://github.com/ryz310))
223
286
 
224
287
  ## v0.14.0 (Mar 14, 2020)
225
288
 
226
289
  ### Feature
227
290
 
228
- * [#211](https://github.com/ryz310/my_api_client/pull/211) Integration testing using the jets framework ([@ryz310](https://github.com/ryz310))
229
- * [#213](https://github.com/ryz310/my_api_client/pull/213) Add status API to integration testing ([@ryz310](https://github.com/ryz310))
230
- * [#214](https://github.com/ryz310/my_api_client/pull/214) Add error API to integration testing ([@ryz310](https://github.com/ryz310))
231
- * [#215](https://github.com/ryz310/my_api_client/pull/215) Update the REST API to enhance integration testing ([@ryz310](https://github.com/ryz310))
291
+ - [#211](https://github.com/ryz310/my_api_client/pull/211) Integration testing using the jets framework ([@ryz310](https://github.com/ryz310))
292
+ - [#213](https://github.com/ryz310/my_api_client/pull/213) Add status API to integration testing ([@ryz310](https://github.com/ryz310))
293
+ - [#214](https://github.com/ryz310/my_api_client/pull/214) Add error API to integration testing ([@ryz310](https://github.com/ryz310))
294
+ - [#215](https://github.com/ryz310/my_api_client/pull/215) Update the REST API to enhance integration testing ([@ryz310](https://github.com/ryz310))
232
295
 
233
296
  ### Refactoring
234
297
 
235
- * [#179](https://github.com/ryz310/my_api_client/pull/179) Change the "with" option structure ([@ryz310](https://github.com/ryz310))
236
- * [#206](https://github.com/ryz310/my_api_client/pull/206) Rebuild api request processing ([@ryz310](https://github.com/ryz310))
237
- * [#207](https://github.com/ryz310/my_api_client/pull/207) Fix offending codes ([@ryz310](https://github.com/ryz310))
298
+ - [#179](https://github.com/ryz310/my_api_client/pull/179) Change the "with" option structure ([@ryz310](https://github.com/ryz310))
299
+ - [#206](https://github.com/ryz310/my_api_client/pull/206) Rebuild api request processing ([@ryz310](https://github.com/ryz310))
300
+ - [#207](https://github.com/ryz310/my_api_client/pull/207) Fix offending codes ([@ryz310](https://github.com/ryz310))
238
301
 
239
302
  ### Breaking Change
240
303
 
241
- * [#196](https://github.com/ryz310/my_api_client/pull/196) Change the request structure ([@ryz310](https://github.com/ryz310))
304
+ - [#196](https://github.com/ryz310/my_api_client/pull/196) Change the request structure ([@ryz310](https://github.com/ryz310))
242
305
 
243
306
  > ### logging
244
307
  >
@@ -287,149 +350,149 @@ See: https://github.com/ryz310/my_api_client/blob/master/lib/my_api_client/defau
287
350
 
288
351
  ### Rubocop Challenge
289
352
 
290
- * [#205](https://github.com/ryz310/my_api_client/pull/205) Re-generate .rubocop_todo.yml with RuboCop v0.80.0 ([@ryz310](https://github.com/ryz310))
291
- * [#210](https://github.com/ryz310/my_api_client/pull/210) Re-generate .rubocop_todo.yml with RuboCop v0.80.1 ([@ryz310](https://github.com/ryz310))
353
+ - [#205](https://github.com/ryz310/my_api_client/pull/205) Re-generate .rubocop_todo.yml with RuboCop v0.80.0 ([@ryz310](https://github.com/ryz310))
354
+ - [#210](https://github.com/ryz310/my_api_client/pull/210) Re-generate .rubocop_todo.yml with RuboCop v0.80.1 ([@ryz310](https://github.com/ryz310))
292
355
 
293
356
  ## v0.13.0 (Jan 21, 2020)
294
357
 
295
358
  ### Feature
296
359
 
297
- * [#180](https://github.com/ryz310/my_api_client/pull/180) Stub response on raising error ([@ryz310](https://github.com/ryz310))
360
+ - [#180](https://github.com/ryz310/my_api_client/pull/180) Stub response on raising error ([@ryz310](https://github.com/ryz310))
298
361
 
299
362
  ## v0.12.0 (Jan 19, 2020)
300
363
 
301
364
  ### Feature
302
365
 
303
- * [#173](https://github.com/ryz310/my_api_client/pull/173) Avoid sleep on testing ([@ryz310](https://github.com/ryz310))
304
- * [#175](https://github.com/ryz310/my_api_client/pull/175) Verify arguments on error handling definition ([@ryz310](https://github.com/ryz310))
305
- * [#176](https://github.com/ryz310/my_api_client/pull/176) Provides a syntax sugar of `retry_on` on `error_handling` ([@ryz310](https://github.com/ryz310))
366
+ - [#173](https://github.com/ryz310/my_api_client/pull/173) Avoid sleep on testing ([@ryz310](https://github.com/ryz310))
367
+ - [#175](https://github.com/ryz310/my_api_client/pull/175) Verify arguments on error handling definition ([@ryz310](https://github.com/ryz310))
368
+ - [#176](https://github.com/ryz310/my_api_client/pull/176) Provides a syntax sugar of `retry_on` on `error_handling` ([@ryz310](https://github.com/ryz310))
306
369
 
307
370
  ### Bugfix
308
371
 
309
- * [#174](https://github.com/ryz310/my_api_client/pull/174) Fix warning on ruby 2.7 ([@ryz310](https://github.com/ryz310))
372
+ - [#174](https://github.com/ryz310/my_api_client/pull/174) Fix warning on ruby 2.7 ([@ryz310](https://github.com/ryz310))
310
373
 
311
374
  ## v0.11.0 (Jan 16, 2020)
312
375
 
313
376
  ### Feature
314
377
 
315
- * [#170](https://github.com/ryz310/my_api_client/pull/170) Support ruby 2.7 ([@ryz310](https://github.com/ryz310))
378
+ - [#170](https://github.com/ryz310/my_api_client/pull/170) Support ruby 2.7 ([@ryz310](https://github.com/ryz310))
316
379
 
317
380
  ### Rubocop Challenge
318
381
 
319
- * [#158](https://github.com/ryz310/my_api_client/pull/158) Re-generate .rubocop_todo.yml with RuboCop v0.78.0 ([@ryz310](https://github.com/ryz310))
320
- * [#168](https://github.com/ryz310/my_api_client/pull/168) Re-generate .rubocop_todo.yml with RuboCop v0.79.0 ([@ryz310](https://github.com/ryz310))
382
+ - [#158](https://github.com/ryz310/my_api_client/pull/158) Re-generate .rubocop_todo.yml with RuboCop v0.78.0 ([@ryz310](https://github.com/ryz310))
383
+ - [#168](https://github.com/ryz310/my_api_client/pull/168) Re-generate .rubocop_todo.yml with RuboCop v0.79.0 ([@ryz310](https://github.com/ryz310))
321
384
 
322
385
  ## v0.10.3 (Dec 05, 2019)
323
386
 
324
387
  ### Bugfix
325
388
 
326
- * [#150](https://github.com/ryz310/my_api_client/pull/150) Redefine network error class ([@ryz310](https://github.com/ryz310))
389
+ - [#150](https://github.com/ryz310/my_api_client/pull/150) Redefine network error class ([@ryz310](https://github.com/ryz310))
327
390
 
328
391
  ### Rubocop Challenge
329
392
 
330
- * [#136](https://github.com/ryz310/my_api_client/pull/136) Re-generate .rubocop_todo.yml with RuboCop v0.76.0 ([@ryz310](https://github.com/ryz310))
331
- * [#148](https://github.com/ryz310/my_api_client/pull/148) Re-generate .rubocop_todo.yml with RuboCop v0.77.0 ([@ryz310](https://github.com/ryz310))
393
+ - [#136](https://github.com/ryz310/my_api_client/pull/136) Re-generate .rubocop_todo.yml with RuboCop v0.76.0 ([@ryz310](https://github.com/ryz310))
394
+ - [#148](https://github.com/ryz310/my_api_client/pull/148) Re-generate .rubocop_todo.yml with RuboCop v0.77.0 ([@ryz310](https://github.com/ryz310))
332
395
 
333
396
  ## 0.10.2 (Oct 23, 2019)
334
397
 
335
398
  ### Bugfix
336
399
 
337
- * Ignore error handling when using request to matcher ([#130](https://github.com/ryz310/my_api_client/pull/130))
338
- * Fix `be_handled_as_an_error` description ([#131](https://github.com/ryz310/my_api_client/pull/131))
400
+ - Ignore error handling when using request to matcher ([#130](https://github.com/ryz310/my_api_client/pull/130))
401
+ - Fix `be_handled_as_an_error` description ([#131](https://github.com/ryz310/my_api_client/pull/131))
339
402
 
340
403
  ## 0.10.1 (Oct 23, 2019)
341
404
 
342
405
  ### Feature
343
406
 
344
- * Support `retry_on` testing at shoulda matcher ([#127](https://github.com/ryz310/my_api_client/pull/127))
407
+ - Support `retry_on` testing at shoulda matcher ([#127](https://github.com/ryz310/my_api_client/pull/127))
345
408
 
346
409
  ## 0.10.0 (Oct 23, 2019)
347
410
 
348
411
  ### Feature
349
412
 
350
- * Shoulda-matchers for my_api_client ([#124](https://github.com/ryz310/my_api_client/pull/124))
413
+ - Shoulda-matchers for my_api_client ([#124](https://github.com/ryz310/my_api_client/pull/124))
351
414
 
352
415
  ### Misc
353
416
 
354
- * Modify request specifications ([#120](https://github.com/ryz310/my_api_client/pull/120))
355
- * Re-generate .rubocop_todo.yml with RuboCop v0.75.1 ([#121](https://github.com/ryz310/my_api_client/pull/121))
417
+ - Modify request specifications ([#120](https://github.com/ryz310/my_api_client/pull/120))
418
+ - Re-generate .rubocop_todo.yml with RuboCop v0.75.1 ([#121](https://github.com/ryz310/my_api_client/pull/121))
356
419
 
357
420
  ## 0.9.2 (Oct 8, 2019)
358
421
 
359
422
  ### Bugfix
360
423
 
361
- * Fix endpoint parsing when including port number ([#117](https://github.com/ryz310/my_api_client/pull/117))
362
- * Fixes: Can't request to URL which includes port numbert ([#116](https://github.com/ryz310/my_api_client/pull/116))
424
+ - Fix endpoint parsing when including port number ([#117](https://github.com/ryz310/my_api_client/pull/117))
425
+ - Fixes: Can't request to URL which includes port numbert ([#116](https://github.com/ryz310/my_api_client/pull/116))
363
426
 
364
427
  ### Misc
365
428
 
366
- * Re-generate .rubocop_todo.yml with RuboCop v0.74.0 ([#100](https://github.com/ryz310/my_api_client/pull/100))
367
- * Re-generate .rubocop_todo.yml with RuboCop v0.75.0 ([#112](https://github.com/ryz310/my_api_client/pull/112))
368
- * Support Rails 6.0 ([#101](https://github.com/ryz310/my_api_client/pull/101))
429
+ - Re-generate .rubocop_todo.yml with RuboCop v0.74.0 ([#100](https://github.com/ryz310/my_api_client/pull/100))
430
+ - Re-generate .rubocop_todo.yml with RuboCop v0.75.0 ([#112](https://github.com/ryz310/my_api_client/pull/112))
431
+ - Support Rails 6.0 ([#101](https://github.com/ryz310/my_api_client/pull/101))
369
432
 
370
- * deprecated/my_api_client_stub ([#102](https://github.com/ryz310/my_api_client/pull/102))
433
+ - deprecated/my_api_client_stub ([#102](https://github.com/ryz310/my_api_client/pull/102))
371
434
 
372
435
  ## 0.9.1 (July 25, 2019)
373
436
 
374
437
  ### Bugfix
375
438
 
376
- * Fix forbid nil option ([#97](https://github.com/ryz310/my_api_client/pull/97)) **Breaking Changes**
439
+ - Fix forbid nil option ([#97](https://github.com/ryz310/my_api_client/pull/97)) **Breaking Changes**
377
440
 
378
441
  ## 0.9.0 (July 25, 2019)
379
442
 
380
443
  ### New Features
381
444
 
382
- * Forbid nil response ([#93](https://github.com/ryz310/my_api_client/pull/93))
445
+ - Forbid nil response ([#93](https://github.com/ryz310/my_api_client/pull/93))
383
446
 
384
447
  ### Misc
385
448
 
386
- * RSpec/DescribedClass-20190723233015 ([#92](https://github.com/ryz310/my_api_client/pull/92))
449
+ - RSpec/DescribedClass-20190723233015 ([#92](https://github.com/ryz310/my_api_client/pull/92))
387
450
 
388
451
  ## 0.8.0 (July 23, 2019)
389
452
 
390
453
  ### New Features
391
454
 
392
- * Allow method calling on error handling ([#89](https://github.com/ryz310/my_api_client/pull/89))
455
+ - Allow method calling on error handling ([#89](https://github.com/ryz310/my_api_client/pull/89))
393
456
 
394
457
  ### Breaking Changes
395
458
 
396
- * Require sawyer gem v0.8.2 over ([#88](https://github.com/ryz310/my_api_client/pull/88))
459
+ - Require sawyer gem v0.8.2 over ([#88](https://github.com/ryz310/my_api_client/pull/88))
397
460
 
398
461
  ## 0.7.0 (July 17, 2019)
399
462
 
400
463
  ### Features
401
464
 
402
- * Add request duration to metadata ([#80](https://github.com/ryz310/my_api_client/pull/80))
403
- * Support boolean on error handling ([#81](https://github.com/ryz310/my_api_client/pull/81))
465
+ - Add request duration to metadata ([#80](https://github.com/ryz310/my_api_client/pull/80))
466
+ - Support boolean on error handling ([#81](https://github.com/ryz310/my_api_client/pull/81))
404
467
 
405
468
  ### Breaking Changes
406
469
 
407
- * Modify the generator to be simple ([#82](https://github.com/ryz310/my_api_client/pull/82))
470
+ - Modify the generator to be simple ([#82](https://github.com/ryz310/my_api_client/pull/82))
408
471
 
409
472
  ### Misc
410
473
 
411
- * Re-generate .rubocop_todo.yml with RuboCop v0.73.0 ([#79](https://github.com/ryz310/my_api_client/pull/79))
412
- * Introduce gem comet ([#85](https://github.com/ryz310/my_api_client/pull/85))
474
+ - Re-generate .rubocop_todo.yml with RuboCop v0.73.0 ([#79](https://github.com/ryz310/my_api_client/pull/79))
475
+ - Introduce gem comet ([#85](https://github.com/ryz310/my_api_client/pull/85))
413
476
 
414
477
  ## 0.6.2 (July 03, 2019)
415
478
 
416
479
  ### Bug fixes
417
480
 
418
- * Fix logger setter on the template ([#76](https://github.com/ryz310/my_api_client/pull/76))
419
- * Fixes: The logger does not work... ([#54](https://github.com/ryz310/my_api_client/pull/54))
481
+ - Fix logger setter on the template ([#76](https://github.com/ryz310/my_api_client/pull/76))
482
+ - Fixes: The logger does not work... ([#54](https://github.com/ryz310/my_api_client/pull/54))
420
483
 
421
484
  ## 0.6.1 (July 03, 2019)
422
485
 
423
486
  ### Misc
424
487
 
425
- * Bump yard from `0.9.19` to `0.9.20` ([#72](https://github.com/ryz310/my_api_client/pull/72))
426
- * Fix a security risk
488
+ - Bump yard from `0.9.19` to `0.9.20` ([#72](https://github.com/ryz310/my_api_client/pull/72))
489
+ - Fix a security risk
427
490
 
428
491
  ## 0.6.0 (June 25, 2019)
429
492
 
430
493
  ### New Features
431
494
 
432
- * New stubbing helper ([#65](https://github.com/ryz310/my_api_client/pull/65))
495
+ - New stubbing helper ([#65](https://github.com/ryz310/my_api_client/pull/65))
433
496
 
434
497
  ```rb
435
498
  stub_api_client_all(
@@ -459,86 +522,86 @@ response.id # => 1
459
522
 
460
523
  ### Bug Fixes
461
524
 
462
- * Initialize sawyer agent before logger initialization ([#60](https://github.com/ryz310/my_api_client/pull/60))
463
- * Fixes: The URL included in the logger is incomplete ([#53](https://github.com/ryz310/my_api_client/pull/53))
464
- * Fix parsing error if given text/html response ([#61](https://github.com/ryz310/my_api_client/pull/61))
525
+ - Initialize sawyer agent before logger initialization ([#60](https://github.com/ryz310/my_api_client/pull/60))
526
+ - Fixes: The URL included in the logger is incomplete ([#53](https://github.com/ryz310/my_api_client/pull/53))
527
+ - Fix parsing error if given text/html response ([#61](https://github.com/ryz310/my_api_client/pull/61))
465
528
 
466
529
  ## 0.5.2 (June 23, 2019)
467
530
 
468
531
  ### Bug Fixes
469
532
 
470
- * Fix the result of the retry ([#57](https://github.com/ryz310/my_api_client/pull/57))
471
- * Issue: Return values are nil after retrying ([#56](https://github.com/ryz310/my_api_client/pull/56))
533
+ - Fix the result of the retry ([#57](https://github.com/ryz310/my_api_client/pull/57))
534
+ - Issue: Return values are nil after retrying ([#56](https://github.com/ryz310/my_api_client/pull/56))
472
535
 
473
536
  ### Misc
474
537
 
475
- * Improvement test coverage ([#55](https://github.com/ryz310/my_api_client/pull/55))
538
+ - Improvement test coverage ([#55](https://github.com/ryz310/my_api_client/pull/55))
476
539
 
477
540
  ## 0.5.1 (June 19, 2019)
478
541
 
479
542
  ### Bug Fixes
480
543
 
481
- * Fix unsupported data for the Bugsnag breadcrumbs ([#50](https://github.com/ryz310/my_api_client/pull/50))
544
+ - Fix unsupported data for the Bugsnag breadcrumbs ([#50](https://github.com/ryz310/my_api_client/pull/50))
482
545
 
483
546
  ## 0.5.0 (June 16, 2019)
484
547
 
485
548
  ### New Features
486
549
 
487
- * Support bugsnag breadcrumb ([#41](https://github.com/ryz310/my_api_client/pull/41))
550
+ - Support bugsnag breadcrumb ([#41](https://github.com/ryz310/my_api_client/pull/41))
488
551
 
489
552
  ### Misc
490
553
 
491
- * Use CircleCI Orbs ([#43](https://github.com/ryz310/my_api_client/pull/43))
554
+ - Use CircleCI Orbs ([#43](https://github.com/ryz310/my_api_client/pull/43))
492
555
 
493
556
  ## 0.4.0 (June 03, 2019)
494
557
 
495
558
  ### Feature
496
559
 
497
- * Improvement for endpoint ([#35](https://github.com/ryz310/my_api_client/pull/35))
560
+ - Improvement for endpoint ([#35](https://github.com/ryz310/my_api_client/pull/35))
498
561
 
499
562
  ### Bug Fix
500
563
 
501
- * Add requirements for `$ bin/console` ([#31](https://github.com/ryz310/my_api_client/pull/31))
564
+ - Add requirements for `$ bin/console` ([#31](https://github.com/ryz310/my_api_client/pull/31))
502
565
 
503
566
  ### Misc
504
567
 
505
- * Update RuboCop v0.70.0 -> v0.71.0 ([#34](https://github.com/ryz310/my_api_client/pull/34))
568
+ - Update RuboCop v0.70.0 -> v0.71.0 ([#34](https://github.com/ryz310/my_api_client/pull/34))
506
569
 
507
570
  ## 0.3.0 (May 29, 2019)
508
571
 
509
572
  ### New Features
510
573
 
511
- * Provide test helper for RSpec ([#28](https://github.com/ryz310/my_api_client/pull/28))
574
+ - Provide test helper for RSpec ([#28](https://github.com/ryz310/my_api_client/pull/28))
512
575
 
513
576
  ## 0.2.0 (May 29, 2019)
514
577
 
515
578
  ### New Features
516
579
 
517
- * Support Bugsnag metadata ([#22](https://github.com/ryz310/my_api_client/pull/22))
580
+ - Support Bugsnag metadata ([#22](https://github.com/ryz310/my_api_client/pull/22))
518
581
 
519
582
  ### Misc
520
583
 
521
- * Improve test coverage ([#24](https://github.com/ryz310/my_api_client/pull/24))
522
- * Fix problem on the release job ([#25](https://github.com/ryz310/my_api_client/pull/25))
584
+ - Improve test coverage ([#24](https://github.com/ryz310/my_api_client/pull/24))
585
+ - Fix problem on the release job ([#25](https://github.com/ryz310/my_api_client/pull/25))
523
586
 
524
587
  ## 0.1.4 (May 28, 2019)
525
588
 
526
589
  ### Bugfix
527
590
 
528
- * Support activesupport before v5.2.0 ([#17](https://github.com/ryz310/my_api_client/pull/17))
591
+ - Support activesupport before v5.2.0 ([#17](https://github.com/ryz310/my_api_client/pull/17))
529
592
 
530
593
  ## 0.1.3 (May 27, 2019)
531
594
 
532
- * Fix wrong variable name ([#13](https://github.com/ryz310/my_api_client/pull/13))
595
+ - Fix wrong variable name ([#13](https://github.com/ryz310/my_api_client/pull/13))
533
596
 
534
597
  ## 0.1.2 (May 27, 2019)
535
598
 
536
- * Fix wrong method name ([#10](https://github.com/ryz310/my_api_client/pull/10))
599
+ - Fix wrong method name ([#10](https://github.com/ryz310/my_api_client/pull/10))
537
600
 
538
601
  ## 0.1.1 (May 27, 2019)
539
602
 
540
- * Fix typo ([#6](https://github.com/ryz310/my_api_client/pull/6))
603
+ - Fix typo ([#6](https://github.com/ryz310/my_api_client/pull/6))
541
604
 
542
605
  ## 0.1.0 (May 27, 2019)
543
606
 
544
- * The first release :tada:
607
+ - The first release :tada: