my_api_client 0.22.0 → 0.24.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.
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: