hanami-utils 2.3.0 → 3.0.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 +4 -4
- data/CHANGELOG.md +480 -295
- data/LICENSE +20 -0
- data/README.md +17 -20
- data/hanami-utils.gemspec +27 -21
- data/lib/hanami/utils/deprecation.rb +5 -1
- data/lib/hanami/utils/files.rb +1 -1
- data/lib/hanami/utils/kernel.rb +2 -2
- data/lib/hanami/utils/version.rb +1 -2
- metadata +16 -72
- data/LICENSE.md +0 -22
data/CHANGELOG.md
CHANGED
|
@@ -1,662 +1,847 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Break Versioning](https://www.taoensso.com/break-versioning).
|
|
6
7
|
|
|
7
|
-
##
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
### Deprecated
|
|
15
|
+
|
|
16
|
+
### Removed
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
### Security
|
|
21
|
+
|
|
22
|
+
[Unreleased]: https://github.com/hanami/hanami-utils/compare/v3.0.0...main
|
|
23
|
+
|
|
24
|
+
## [3.0.0] - 2026-06-30
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- Require Ruby 3.3 or newer.
|
|
29
|
+
|
|
30
|
+
[3.0.0]: https://github.com/hanami/hanami-utils/compare/v2.3.0...v3.0.0
|
|
31
|
+
|
|
32
|
+
## [3.0.0.rc1] - 2026-06-16
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- Require Ruby 3.3 or newer.
|
|
37
|
+
|
|
38
|
+
[3.0.0.rc1]: https://github.com/hanami/hanami-utils/compare/v2.3.0...v3.0.0.rc1
|
|
39
|
+
|
|
40
|
+
## [2.3.0] - 2025-11-12
|
|
41
|
+
|
|
42
|
+
[2.3.0]: https://github.com/hanami/hanami-utils/compare/v2.3.0.beta2...v2.3.0
|
|
43
|
+
|
|
44
|
+
## [2.3.0.beta2] - 2025-10-17
|
|
8
45
|
|
|
9
46
|
### Changed
|
|
10
47
|
|
|
11
48
|
- Drop support for Ruby 3.1
|
|
12
49
|
|
|
13
|
-
|
|
50
|
+
[2.3.0.beta2]: https://github.com/hanami/hanami-utils/compare/v2.3.0.beta1...v2.3.0.beta2
|
|
51
|
+
|
|
52
|
+
## [2.3.0.beta1] - 2025-10-03
|
|
14
53
|
|
|
15
|
-
|
|
54
|
+
[2.3.0.beta1]: https://github.com/hanami/hanami-utils/compare/v2.2.0...v2.3.0.beta1
|
|
16
55
|
|
|
17
|
-
##
|
|
56
|
+
## [2.2.0] - 2024-11-05
|
|
18
57
|
|
|
19
|
-
|
|
58
|
+
[2.2.0]: https://github.com/hanami/hanami-utils/compare/v2.2.0.rc1...v2.2.0
|
|
20
59
|
|
|
21
|
-
##
|
|
60
|
+
## [2.2.0.rc1] - 2024-10-29
|
|
61
|
+
|
|
62
|
+
[2.2.0.rc1]: https://github.com/hanami/hanami-utils/compare/v2.2.0.beta2...v2.2.0.rc1
|
|
63
|
+
|
|
64
|
+
## [2.2.0.beta2] - 2024-09-25
|
|
65
|
+
|
|
66
|
+
[2.2.0.beta2]: https://github.com/hanami/hanami-utils/compare/v2.2.0.beta1...v2.2.0.beta2
|
|
67
|
+
|
|
68
|
+
## [2.2.0.beta1] - 2024-07-16
|
|
22
69
|
|
|
23
70
|
### Changed
|
|
24
71
|
|
|
25
72
|
- Drop support for Ruby 3.0
|
|
26
73
|
|
|
27
|
-
|
|
74
|
+
[2.2.0.beta1]: https://github.com/hanami/hanami-utils/compare/v2.1.0...v2.2.0.beta1
|
|
75
|
+
|
|
76
|
+
## [2.1.0] - 2024-02-27
|
|
77
|
+
|
|
78
|
+
[2.1.0]: https://github.com/hanami/hanami-utils/compare/v2.1.0.rc3...v2.1.0
|
|
28
79
|
|
|
29
|
-
##
|
|
80
|
+
## [2.1.0.rc3] - 2024-02-16
|
|
30
81
|
|
|
31
|
-
|
|
82
|
+
[2.1.0.rc3]: https://github.com/hanami/hanami-utils/compare/v2.1.0.rc2...v2.1.0.rc3
|
|
32
83
|
|
|
33
|
-
##
|
|
84
|
+
## [2.1.0.rc2] - 2023-11-08
|
|
85
|
+
|
|
86
|
+
[2.1.0.rc2]: https://github.com/hanami/hanami-utils/compare/v2.1.0.beta1...v2.1.0.rc2
|
|
87
|
+
|
|
88
|
+
## [2.1.0.beta1] - 2023-06-29
|
|
34
89
|
|
|
35
90
|
### Changed
|
|
36
91
|
|
|
37
|
-
-
|
|
92
|
+
- Remove `Hanami::Utils::Escape` (which was not public as of 2.0.0). (Tim Riley in #410)
|
|
93
|
+
|
|
94
|
+
[2.1.0.beta1]: https://github.com/hanami/hanami-utils/compare/v2.0.3...v2.1.0.beta1
|
|
38
95
|
|
|
39
|
-
##
|
|
96
|
+
## [2.0.3] - 2023-02-01
|
|
40
97
|
|
|
41
98
|
### Fixed
|
|
42
99
|
|
|
43
|
-
-
|
|
100
|
+
- `Hanami::Utils::Blank.blank?` to check if the current object is non-nil. (hi-tech-jazz)
|
|
44
101
|
|
|
45
|
-
|
|
102
|
+
[2.0.3]: https://github.com/hanami/hanami-utils/compare/v2.0.2...v2.0.3
|
|
103
|
+
|
|
104
|
+
## [2.0.2] - 2022-12-25
|
|
46
105
|
|
|
47
106
|
### Added
|
|
48
107
|
|
|
49
|
-
-
|
|
108
|
+
- Official support for Ruby 3.2. (Luca Guidi)
|
|
109
|
+
|
|
110
|
+
[2.0.2]: https://github.com/hanami/hanami-utils/compare/v2.0.1...v2.0.2
|
|
50
111
|
|
|
51
|
-
##
|
|
112
|
+
## [2.0.1] - 2022-12-06
|
|
52
113
|
|
|
53
114
|
### Fixed
|
|
54
115
|
|
|
55
|
-
-
|
|
116
|
+
- Make `Hanami::Utils::Callbacks::Chain` and `Hanami::Utils::Callbacks::Callback` comparable via `#==` based on their contents, rather than their object identity. (Tim Riley)
|
|
117
|
+
|
|
118
|
+
[2.0.1]: https://github.com/hanami/hanami-utils/compare/v2.0.0...v2.0.1
|
|
56
119
|
|
|
57
|
-
##
|
|
120
|
+
## [2.0.0] - 2022-11-22
|
|
58
121
|
|
|
59
|
-
|
|
122
|
+
[2.0.0]: https://github.com/hanami/hanami-utils/compare/v2.0.0.rc1...v2.0.0
|
|
123
|
+
|
|
124
|
+
## [2.0.0.rc1] - 2022-11-08
|
|
60
125
|
|
|
61
126
|
### Fixed
|
|
62
127
|
|
|
63
|
-
-
|
|
128
|
+
- Ensure `Hanami::Utils::String.underscore` to replace `"."` (dot character) into underscore. (Benjamin Klotz)
|
|
64
129
|
|
|
65
130
|
### Changed
|
|
66
131
|
|
|
67
|
-
-
|
|
132
|
+
- Removed `Hanami::Logger` in favor of `Dry::Logger`. (Luca Guidi)
|
|
133
|
+
|
|
134
|
+
[2.0.0.rc1]: https://github.com/hanami/hanami-utils/compare/v2.0.0.beta1...v2.0.0.rc1
|
|
68
135
|
|
|
69
|
-
##
|
|
136
|
+
## [2.0.0.beta1] - 2022-07-20
|
|
70
137
|
|
|
71
138
|
### Changed
|
|
72
139
|
|
|
73
|
-
-
|
|
74
|
-
-
|
|
140
|
+
- Removed `Hanami::Utils::BasicObject` (moved to `dry-core` as `Dry::Core::BasicObject`). (Luca Guidi)
|
|
141
|
+
- Removed `Hanami::Interactor`. (Luca Guidi)
|
|
142
|
+
|
|
143
|
+
[2.0.0.beta1]: https://github.com/hanami/hanami-utils/compare/v2.0.0.alpha6...v2.0.0.beta1
|
|
75
144
|
|
|
76
|
-
##
|
|
145
|
+
## [2.0.0.alpha6] - 2022-02-10
|
|
77
146
|
|
|
78
147
|
### Added
|
|
79
148
|
|
|
80
|
-
-
|
|
149
|
+
- Official support for Ruby: MRI 3.0 and 3.1. (Luca Guidi)
|
|
81
150
|
|
|
82
151
|
### Fixed
|
|
83
152
|
|
|
84
|
-
-
|
|
153
|
+
- Allow `Hanami::Logger#initialize` to accept `File::NULL` as `stream:` argument. (Rob Jacoby)
|
|
85
154
|
|
|
86
155
|
### Changed
|
|
87
156
|
|
|
88
|
-
-
|
|
157
|
+
- Drop support for Ruby: MRI 2.6 and 2.7. (Luca Guidi)
|
|
89
158
|
|
|
90
|
-
|
|
159
|
+
[2.0.0.alpha6]: https://github.com/hanami/hanami-utils/compare/v2.0.0.alpha3...v2.0.0.alpha6
|
|
160
|
+
|
|
161
|
+
## [2.0.0.alpha3] - 2021-11-09
|
|
91
162
|
|
|
92
163
|
No changes.
|
|
93
164
|
|
|
94
|
-
|
|
165
|
+
[2.0.0.alpha3]: https://github.com/hanami/hanami-utils/compare/v2.0.0.alpha2...v2.0.0.alpha3
|
|
166
|
+
|
|
167
|
+
## [2.0.0.alpha2] - 2021-05-04
|
|
95
168
|
|
|
96
169
|
### Changed
|
|
97
170
|
|
|
98
|
-
-
|
|
99
|
-
-
|
|
171
|
+
- Drop support for Ruby: MRI 2.5. (Luca Guidi)
|
|
172
|
+
- Transform `Utils::String` from class to module. (Luca Guidi)
|
|
173
|
+
|
|
174
|
+
[2.0.0.alpha2]: https://github.com/hanami/hanami-utils/compare/v2.0.0.alpha1...v2.0.0.alpha2
|
|
100
175
|
|
|
101
|
-
##
|
|
176
|
+
## [2.0.0.alpha1] - 2019-01-30
|
|
102
177
|
|
|
103
178
|
### Added
|
|
104
179
|
|
|
105
|
-
-
|
|
106
|
-
-
|
|
180
|
+
- Introduce `Hanami::Middleware` namespace. (Gustavo Caso)
|
|
181
|
+
- Introduce `Callbacks::Chain#dup`. (Luca Guidi)
|
|
107
182
|
|
|
108
183
|
### Changed
|
|
109
184
|
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
185
|
+
- Drop support for Ruby: MRI 2.3, and 2.4. (Luca Guidi)
|
|
186
|
+
- Remove `Utils::Duplicable`. (Luca Guidi)
|
|
187
|
+
- Remove `Utils::Inflector`. (Luca Guidi)
|
|
188
|
+
- Remove `Utils::String.singularize`, and `.pluralize`. (Luca Guidi)
|
|
189
|
+
- Remove `Utils::String#singularize`, and `#pluralize`. (Luca Guidi)
|
|
190
|
+
- Remove instance level interface for `Utils::Hash`. (Luca Guidi)
|
|
191
|
+
- Transform `Utils::Hash` from class to module. (Luca Guidi)
|
|
192
|
+
- Remove `Utils.reload!`. (Luca Guidi)
|
|
193
|
+
- Remove `Utils::File.rewrite`. (Gustavo Caso)
|
|
194
|
+
- Remove `Utils::Class.load_from_pattern!`. (Vladimir Suvorov)
|
|
120
195
|
|
|
121
|
-
|
|
196
|
+
[2.0.0.alpha1]: https://github.com/hanami/hanami-utils/compare/v1.3.8...v2.0.0.alpha1
|
|
197
|
+
|
|
198
|
+
## [1.3.8] - 2021-05-03
|
|
122
199
|
|
|
123
200
|
### Fixed
|
|
124
201
|
|
|
125
|
-
-
|
|
202
|
+
- Ensure `Hanami::Interactor#initialize` to accept keyword arguments while working with Ruby 3. (Hiếu Nguyễn)
|
|
203
|
+
|
|
204
|
+
[1.3.8]: https://github.com/hanami/hanami-utils/compare/v1.3.7...v1.3.8
|
|
126
205
|
|
|
127
|
-
##
|
|
206
|
+
## [1.3.7] - 2021-01-04
|
|
128
207
|
|
|
129
208
|
### Added
|
|
130
209
|
|
|
131
|
-
-
|
|
132
|
-
-
|
|
210
|
+
- Official support for Ruby: MRI 3.0. (Luca Guidi)
|
|
211
|
+
- Allow `Hanami::Logger` to filter sensitive data for an array of hashes. (Khai Le)
|
|
133
212
|
|
|
134
213
|
### Fixed
|
|
135
214
|
|
|
136
|
-
-
|
|
215
|
+
- Ensure `Hanami::Logger` to not mutate `Hash` input when filtering sensitive data. (Hiếu Nguyễn)
|
|
216
|
+
|
|
217
|
+
[1.3.7]: https://github.com/hanami/hanami-utils/compare/v1.3.6...v1.3.7
|
|
137
218
|
|
|
138
|
-
##
|
|
219
|
+
## [1.3.6] - 2020-01-07
|
|
139
220
|
|
|
140
221
|
### Added
|
|
141
222
|
|
|
142
|
-
-
|
|
223
|
+
- Official support for Ruby: MRI 2.7. (Luca Guidi)
|
|
143
224
|
|
|
144
225
|
### Fixed
|
|
145
226
|
|
|
146
|
-
-
|
|
227
|
+
- `Utils::Files.append`: don't check breakline if file is empty. (ippachi)
|
|
147
228
|
|
|
148
|
-
|
|
229
|
+
[1.3.6]: https://github.com/hanami/hanami-utils/compare/v1.3.5...v1.3.6
|
|
230
|
+
|
|
231
|
+
## [1.3.5] - 2019-10-25
|
|
149
232
|
|
|
150
233
|
### Fixed
|
|
151
234
|
|
|
152
|
-
-
|
|
153
|
-
-
|
|
235
|
+
- Ensure `Hanami::Logger` filters to not crash when logger stream is a closed tempfile. (Ivan Kabluchkov)
|
|
236
|
+
- Ensure `Utils::Files.append` to append contents properly when existing file doesn't end with a newline. (Luca Guidi)
|
|
237
|
+
|
|
238
|
+
[1.3.5]: https://github.com/hanami/hanami-utils/compare/v1.3.4...v1.3.5
|
|
154
239
|
|
|
155
|
-
##
|
|
240
|
+
## [1.3.4] - 2019-09-27
|
|
156
241
|
|
|
157
242
|
### Added
|
|
158
243
|
|
|
159
|
-
-
|
|
244
|
+
- Let `Utils::BasicObject` to lookup constants at the top-level namespace. (Luca Guidi)
|
|
245
|
+
|
|
246
|
+
[1.3.4]: https://github.com/hanami/hanami-utils/compare/v1.3.3...v1.3.4
|
|
160
247
|
|
|
161
|
-
##
|
|
248
|
+
## [1.3.3] - 2019-09-13
|
|
162
249
|
|
|
163
250
|
### Fixed
|
|
164
251
|
|
|
165
|
-
-
|
|
252
|
+
- Ensure `Utils::Inflector.pluralize` and `.singularize` to work with words that contain an underscore (`_`). (Mauro Morales)
|
|
166
253
|
|
|
167
|
-
|
|
254
|
+
[1.3.3]: https://github.com/hanami/hanami-utils/compare/v1.3.2...v1.3.3
|
|
255
|
+
|
|
256
|
+
## [1.3.2] - 2019-06-21
|
|
168
257
|
|
|
169
258
|
### Added
|
|
170
259
|
|
|
171
|
-
-
|
|
260
|
+
- Added `Utils::BasicObject#instance_of?`, `#is_a?`, and `#kind_of`. (Vladislav Yashin & Luca Guidi)
|
|
261
|
+
|
|
262
|
+
[1.3.2]: https://github.com/hanami/hanami-utils/compare/v1.3.1...v1.3.2
|
|
172
263
|
|
|
173
|
-
##
|
|
264
|
+
## [1.3.1] - 2019-01-18
|
|
174
265
|
|
|
175
266
|
### Added
|
|
176
267
|
|
|
177
|
-
-
|
|
178
|
-
-
|
|
268
|
+
- Official support for Ruby: MRI 2.6. (Luca Guidi)
|
|
269
|
+
- Support `bundler` 2.0+. (Luca Guidi)
|
|
179
270
|
|
|
180
271
|
### Fixed
|
|
181
272
|
|
|
182
|
-
-
|
|
183
|
-
-
|
|
273
|
+
- Fix `Hash` serialization for `Utils::Logger`. (Alfonso Uceda)
|
|
274
|
+
- Add missing `pathname` require in `lib/hanami/utils.rb`. (Jeff Dickey)
|
|
275
|
+
|
|
276
|
+
[1.3.1]: https://github.com/hanami/hanami-utils/compare/v1.3.0...v1.3.1
|
|
277
|
+
|
|
278
|
+
## [1.3.0] - 2018-10-24
|
|
184
279
|
|
|
185
|
-
|
|
280
|
+
[1.3.0]: https://github.com/hanami/hanami-utils/compare/v1.3.0.beta1...v1.3.0
|
|
186
281
|
|
|
187
|
-
##
|
|
282
|
+
## [1.3.0.beta1] - 2018-08-08
|
|
188
283
|
|
|
189
284
|
### Added
|
|
190
285
|
|
|
191
|
-
-
|
|
192
|
-
-
|
|
286
|
+
- Official support for JRuby 9.2.0.0. (Luca Guidi)
|
|
287
|
+
- Add `Utils::Files.inject_line_before_last` and `.inject_line_after_last`. (graywolf)
|
|
193
288
|
|
|
194
289
|
### Fixed
|
|
195
290
|
|
|
196
|
-
-
|
|
197
|
-
-
|
|
291
|
+
- Don't show `Fixnum` Ruby warning for 2.4+. (graywolf)
|
|
292
|
+
- Fix pluralization of `"fee"`. (Luca Guidi)
|
|
198
293
|
|
|
199
294
|
### Deprecated
|
|
200
295
|
|
|
201
|
-
-
|
|
202
|
-
-
|
|
203
|
-
-
|
|
204
|
-
-
|
|
296
|
+
- Deprecate `Utils::String` as Ruby type. Please use `Utils::String` class methods instead of `Utils::String.new("")`. (Luca Guidi & Marion Schleifer)
|
|
297
|
+
- Deprecate `Utils::Hash` as Ruby type. Please use `Utils::Hash` class methods instead of `Utils::Hash.new({})`. (Luca Guidi & Marion Schleifer)
|
|
298
|
+
- Deprecate `Utils::String.pluralize` and `.singularize`. (Luca Guidi & Marion Schleifer)
|
|
299
|
+
- Deprecate `Utils::Class.load_from_pattern!`. (Semyon Pupkov)
|
|
205
300
|
|
|
206
|
-
|
|
301
|
+
[1.3.0.beta1]: https://github.com/hanami/hanami-utils/compare/v1.2.0...v1.3.0.beta1
|
|
207
302
|
|
|
208
|
-
##
|
|
303
|
+
## [1.2.0] - 2018-04-11
|
|
304
|
+
|
|
305
|
+
[1.2.0]: https://github.com/hanami/hanami-utils/compare/v1.2.0.rc2...v1.2.0
|
|
306
|
+
|
|
307
|
+
## [1.2.0.rc2] - 2018-04-06
|
|
209
308
|
|
|
210
309
|
### Added
|
|
211
310
|
|
|
212
|
-
-
|
|
311
|
+
- Use different colors for each `Hanami::Logger` level. (Luca Guidi)
|
|
312
|
+
|
|
313
|
+
[1.2.0.rc2]: https://github.com/hanami/hanami-utils/compare/v1.2.0.rc1...v1.2.0.rc2
|
|
213
314
|
|
|
214
|
-
##
|
|
315
|
+
## [1.2.0.rc1] - 2018-03-30
|
|
215
316
|
|
|
216
317
|
### Added
|
|
217
318
|
|
|
218
|
-
-
|
|
319
|
+
- Colored logging. (Oana Sipos & Sean Collins & Luca Guidi)
|
|
219
320
|
|
|
220
321
|
### Fixed
|
|
221
322
|
|
|
222
|
-
-
|
|
323
|
+
- Make `Hanami::Logger` to properly log hash messages. (Luca Guidi)
|
|
223
324
|
|
|
224
|
-
|
|
325
|
+
[1.2.0.rc1]: https://github.com/hanami/hanami-utils/compare/v1.2.0.beta2...v1.2.0.rc1
|
|
225
326
|
|
|
226
|
-
##
|
|
327
|
+
## [1.2.0.beta2] - 2018-03-23
|
|
227
328
|
|
|
228
|
-
|
|
329
|
+
[1.2.0.beta2]: https://github.com/hanami/hanami-utils/compare/v1.2.0.beta1...v1.2.0.beta2
|
|
330
|
+
|
|
331
|
+
## [1.2.0.beta1] - 2018-02-28
|
|
332
|
+
|
|
333
|
+
[1.2.0.beta1]: https://github.com/hanami/hanami-utils/compare/v1.1.2...v1.2.0.beta1
|
|
334
|
+
|
|
335
|
+
## [1.1.2] - 2018-02-02
|
|
229
336
|
|
|
230
337
|
### Added
|
|
231
338
|
|
|
232
|
-
-
|
|
339
|
+
- Official support for Ruby: MRI 2.5. (Luca Guidi)
|
|
233
340
|
|
|
234
341
|
### Fixed
|
|
235
342
|
|
|
236
|
-
-
|
|
237
|
-
-
|
|
343
|
+
- Make `Utils::Files.write` idempotent: ensure to truncate the file before to write. (Sean Collins & Luca Guidi)
|
|
344
|
+
- Don't erase file contents when invoking `Utils::Files.touch`. (Sean Collins & Luca Guidi)
|
|
238
345
|
|
|
239
346
|
### Changed
|
|
240
347
|
|
|
241
|
-
-
|
|
348
|
+
- Deprecate `Utils::Files.rewrite` in favor of `.write`. (Sean Collins & Luca Guidi)
|
|
242
349
|
|
|
243
|
-
|
|
350
|
+
[1.1.2]: https://github.com/hanami/hanami-utils/compare/v1.1.1...v1.1.2
|
|
351
|
+
|
|
352
|
+
## [1.1.1] - 2017-11-22
|
|
244
353
|
|
|
245
354
|
### Added
|
|
246
355
|
|
|
247
|
-
-
|
|
356
|
+
- Introduce `Utils::Hash.deep_stringify` to recursively stringify a hash. (Luca Guidi)
|
|
248
357
|
|
|
249
358
|
### Fixed
|
|
250
359
|
|
|
251
|
-
-
|
|
360
|
+
- Ensure `Interactor#call` to accept non-keyword arguments. (Yuta Tokitake)
|
|
361
|
+
|
|
362
|
+
[1.1.1]: https://github.com/hanami/hanami-utils/compare/v1.1.0...v1.1.1
|
|
252
363
|
|
|
253
|
-
##
|
|
364
|
+
## [1.1.0] - 2017-10-25
|
|
254
365
|
|
|
255
366
|
### Added
|
|
256
367
|
|
|
257
|
-
-
|
|
368
|
+
- Introduce `Utils::Hash.deep_serialize` to recursively serialize input into `::Hash`. (Luca Guidi)
|
|
369
|
+
|
|
370
|
+
[1.1.0]: https://github.com/hanami/hanami-utils/compare/v1.1.0.rc1...v1.1.0
|
|
258
371
|
|
|
259
|
-
##
|
|
372
|
+
## [1.1.0.rc1] - 2017-10-16
|
|
260
373
|
|
|
261
|
-
|
|
374
|
+
[1.1.0.rc1]: https://github.com/hanami/hanami-utils/compare/v1.1.0.beta3...v1.1.0.rc1
|
|
262
375
|
|
|
263
|
-
##
|
|
376
|
+
## [1.1.0.beta3] - 2017-10-04
|
|
377
|
+
|
|
378
|
+
[1.1.0.beta3]: https://github.com/hanami/hanami-utils/compare/v1.1.0.beta2...v1.1.0.beta3
|
|
379
|
+
|
|
380
|
+
## [1.1.0.beta2] - 2017-10-03
|
|
264
381
|
|
|
265
382
|
### Added
|
|
266
383
|
|
|
267
|
-
-
|
|
384
|
+
- Auto create directory for `Hanami::Logger`. (Alfonso Uceda)
|
|
385
|
+
|
|
386
|
+
[1.1.0.beta2]: https://github.com/hanami/hanami-utils/compare/v1.1.0.beta1...v1.1.0.beta2
|
|
268
387
|
|
|
269
|
-
##
|
|
388
|
+
## [1.1.0.beta1] - 2017-08-11
|
|
270
389
|
|
|
271
390
|
### Added
|
|
272
391
|
|
|
273
|
-
-
|
|
274
|
-
-
|
|
275
|
-
-
|
|
276
|
-
-
|
|
277
|
-
-
|
|
278
|
-
-
|
|
392
|
+
- Allow `Hanami::Interactor#call` to accept arguments. `#initialize` should be used for Dependency Injection, while `#call` should be used for input. (Marion Duprey)
|
|
393
|
+
- Introduce `Utils::Hash.stringify`. (Marion Schleifer)
|
|
394
|
+
- Introduce `Utils::String.titleize`, `.capitalize`, `.classify`, `.underscore`, `.dasherize`, `.demodulize`, `.namespace`, `.pluralize`, `.singularize`, and `.rsub`. (Marion Schleifer)
|
|
395
|
+
- Introduce `Utils::Files`: a set of utils for file manipulations. (Luca Guidi)
|
|
396
|
+
- Introduce `Utils::String.transform` a pipelined transformations for strings. (Luca Guidi)
|
|
397
|
+
- Filter sensitive informations for `Hanami::Logger`. (Marion Duprey & Gabriel Gizotti)
|
|
279
398
|
|
|
280
|
-
|
|
399
|
+
[1.1.0.beta1]: https://github.com/hanami/hanami-utils/compare/v1.0.4...v1.1.0.beta1
|
|
400
|
+
|
|
401
|
+
## [1.0.4] - 2017-10-02
|
|
281
402
|
|
|
282
403
|
### Fixed
|
|
283
404
|
|
|
284
|
-
-
|
|
285
|
-
-
|
|
405
|
+
- Make `Hanami::Utils::BasicObject` to be fully compatible with Ruby's `pp` and to be inspected by Pry. (Luca Guidi)
|
|
406
|
+
- Fix pluralization/singularization for `"release" => "releases"`. (Thiago Kenji Okada)
|
|
407
|
+
|
|
408
|
+
[1.0.4]: https://github.com/hanami/hanami-utils/compare/v1.0.3...v1.0.4
|
|
286
409
|
|
|
287
|
-
##
|
|
410
|
+
## [1.0.3] - 2017-09-06
|
|
288
411
|
|
|
289
412
|
### Fixed
|
|
290
413
|
|
|
291
|
-
-
|
|
292
|
-
-
|
|
414
|
+
- Fix pluralization/singularization for `"exercise" => "exercises"`. (Malina Sulca)
|
|
415
|
+
- Fix pluralization/singularization for `"area" => "areas"`. (Xavier Barbosa)
|
|
416
|
+
|
|
417
|
+
[1.0.3]: https://github.com/hanami/hanami-utils/compare/v1.0.2...v1.0.3
|
|
293
418
|
|
|
294
|
-
##
|
|
419
|
+
## [1.0.2] - 2017-07-10
|
|
295
420
|
|
|
296
421
|
### Fixed
|
|
297
422
|
|
|
298
|
-
-
|
|
423
|
+
- Fix pluralization/singularization for `"phrase" => "phrases"`. (Anton Davydov)
|
|
299
424
|
|
|
300
|
-
|
|
425
|
+
[1.0.2]: https://github.com/hanami/hanami-utils/compare/v1.0.1...v1.0.2
|
|
426
|
+
|
|
427
|
+
## [1.0.1] - 2017-06-23
|
|
301
428
|
|
|
302
429
|
### Added
|
|
303
430
|
|
|
304
|
-
-
|
|
305
|
-
-
|
|
431
|
+
- Introduced `Utils::Hash.symbolize` and `.deep_symbolize`. (Luca Guidi)
|
|
432
|
+
- Introduced `Utils::Hash.deep_dup`. (Luca Guidi)
|
|
306
433
|
|
|
307
434
|
### Fixed
|
|
308
435
|
|
|
309
|
-
-
|
|
310
|
-
-
|
|
436
|
+
- Ensure `Utils::String#classify` to return output identical to the input for already classified strings. (choallin)
|
|
437
|
+
- Ensure `Utils::Hash#initialize` to accept frozen `Hash` as argument. (Marion Duprey & Jonas Amundsen)
|
|
438
|
+
|
|
439
|
+
[1.0.1]: https://github.com/hanami/hanami-utils/compare/v1.0.0...v1.0.1
|
|
440
|
+
|
|
441
|
+
## [1.0.0] - 2017-04-06
|
|
311
442
|
|
|
312
|
-
|
|
443
|
+
[1.0.0]: https://github.com/hanami/hanami-utils/compare/v1.0.0.rc1...v1.0.0
|
|
313
444
|
|
|
314
|
-
##
|
|
445
|
+
## [1.0.0.rc1] - 2017-03-31
|
|
315
446
|
|
|
316
447
|
### Added
|
|
317
448
|
|
|
318
|
-
-
|
|
449
|
+
- Allow `Hanami::Logger#initialize` to accept arguments to be compliant with Ruby's `Logger`. (Luca Guidi)
|
|
319
450
|
|
|
320
|
-
|
|
451
|
+
[1.0.0.rc1]: https://github.com/hanami/hanami-utils/compare/v1.0.0.beta3...v1.0.0.rc1
|
|
452
|
+
|
|
453
|
+
## [1.0.0.beta3] - 2017-03-17
|
|
321
454
|
|
|
322
455
|
### Fixed
|
|
323
456
|
|
|
324
|
-
-
|
|
457
|
+
- Use `$stdout` instead of `STDOUT` as default stream for `Hanami::Logger`. (Luca Guidi)
|
|
325
458
|
|
|
326
459
|
### Changed
|
|
327
460
|
|
|
328
|
-
-
|
|
329
|
-
-
|
|
330
|
-
-
|
|
461
|
+
- Removed `Utils::Attributes`. (Luca Guidi)
|
|
462
|
+
- Removed deprecated `Hanami::Interactor::Result#failing?`. (Luca Guidi)
|
|
463
|
+
- Removed deprecated `Utils::Json.load` and `.dump`. (Luca Guidi)
|
|
464
|
+
|
|
465
|
+
[1.0.0.beta3]: https://github.com/hanami/hanami-utils/compare/v1.0.0.beta2...v1.0.0.beta3
|
|
331
466
|
|
|
332
|
-
##
|
|
467
|
+
## [1.0.0.beta2] - 2017-03-02
|
|
333
468
|
|
|
334
469
|
### Changed
|
|
335
470
|
|
|
336
|
-
-
|
|
471
|
+
- Made `Utils::Blank` private API. (Anton Davydov)
|
|
472
|
+
|
|
473
|
+
[1.0.0.beta2]: https://github.com/hanami/hanami-utils/compare/v1.0.0.beta1...v1.0.0.beta2
|
|
337
474
|
|
|
338
|
-
##
|
|
475
|
+
## [1.0.0.beta1] - 2017-02-14
|
|
339
476
|
|
|
340
477
|
### Added
|
|
341
478
|
|
|
342
|
-
-
|
|
343
|
-
-
|
|
344
|
-
-
|
|
479
|
+
- Official support for Ruby: MRI 2.4. (Luca Guidi)
|
|
480
|
+
- Introduced `Utils::Hash#deep_symbolize!` for deep symbolization. (alexd16)
|
|
481
|
+
- Introduced `Hanami::Utils.reload!` as a mechanism to force code reloading in development. (Luca Guidi)
|
|
345
482
|
|
|
346
483
|
### Fixed
|
|
347
484
|
|
|
348
|
-
-
|
|
349
|
-
-
|
|
350
|
-
-
|
|
351
|
-
-
|
|
485
|
+
- Don't deeply symbolize `Hanami::Interactor::Result` payload. (alexd16 & Alfonso Uceda & Luca Guidi)
|
|
486
|
+
- `Hanami::Interactor::Result`: Don't transform objects that respond to `#to_hash` (like entities). (Alfonso Uceda)
|
|
487
|
+
- Use `Utils::Json.generate` instead of the deprecated `.dump` for `Hanami::Logger` JSON formatter. (Bhanu Prakash)
|
|
488
|
+
- `Hanami::Logger`: when a `Hash` message is passed, don't nest it under `:message` key, but unwrap at the top level. (Luca Guidi)
|
|
352
489
|
|
|
353
490
|
### Changed
|
|
354
491
|
|
|
355
|
-
-
|
|
356
|
-
-
|
|
357
|
-
-
|
|
492
|
+
- `Utils::Hash#symbolize!` no longer symbolizes deep structures. (alexd16)
|
|
493
|
+
- Improve readability for default logger formatter. (Luca Guidi & Alfonso Uceda)
|
|
494
|
+
- Use ISO-8601 time format for JSON logger formatter. (Luca Guidi)
|
|
358
495
|
|
|
359
|
-
|
|
496
|
+
[1.0.0.beta1]: https://github.com/hanami/hanami-utils/compare/v0.9.2...v1.0.0.beta1
|
|
497
|
+
|
|
498
|
+
## [0.9.2] - 2016-12-19
|
|
360
499
|
|
|
361
500
|
### Added
|
|
362
501
|
|
|
363
|
-
-
|
|
502
|
+
- Introduced `Hanami::Interactor::Result#failure?`. (Grachev Mikhail)
|
|
364
503
|
|
|
365
504
|
### Fixed
|
|
366
505
|
|
|
367
|
-
-
|
|
506
|
+
- `Utils::Inflector.pluralize` Pluralize -en to -ens instead of -ina. (Paweł Świątkowski)
|
|
368
507
|
|
|
369
508
|
### Changed
|
|
370
509
|
|
|
371
|
-
-
|
|
510
|
+
- Deprecate `Hanami::Interactor::Result#failing?` in favor of `#failure?`. (Grachev Mikhail)
|
|
511
|
+
|
|
512
|
+
[0.9.2]: https://github.com/hanami/hanami-utils/compare/v0.9.1...v0.9.2
|
|
372
513
|
|
|
373
|
-
##
|
|
514
|
+
## [0.9.1] - 2016-11-18
|
|
374
515
|
|
|
375
516
|
### Added
|
|
376
517
|
|
|
377
|
-
-
|
|
518
|
+
- Introduced `Utils::Json.parse` and `.generate`. (Luca Guidi)
|
|
378
519
|
|
|
379
520
|
### Fixed
|
|
380
521
|
|
|
381
|
-
-
|
|
522
|
+
- Ensure `Utils::Json` parsing to not eval untrusted input. (Luca Guidi)
|
|
382
523
|
|
|
383
524
|
### Changed
|
|
384
525
|
|
|
385
|
-
-
|
|
386
|
-
-
|
|
526
|
+
- Deprecated `Utils::Json.load` in favor of `.parse`. (Luca Guidi)
|
|
527
|
+
- Deprecated `Utils::Json.dump` in favor of `.generate`. (Luca Guidi)
|
|
528
|
+
|
|
529
|
+
[0.9.1]: https://github.com/hanami/hanami-utils/compare/v0.9.0...v0.9.1
|
|
387
530
|
|
|
388
|
-
##
|
|
531
|
+
## [0.9.0] - 2016-11-15
|
|
389
532
|
|
|
390
533
|
### Added
|
|
391
534
|
|
|
392
|
-
|
|
393
|
-
|
|
535
|
+
- Introduced `Utils.require!` to recursively require Ruby files with an order that is consistent across platforms. (Luca Guidi)
|
|
536
|
+
- Introduced `Utils::FileList` as cross-platform ordered list of files, alternative to `Dir.glob`. (Luca Guidi)
|
|
394
537
|
|
|
395
|
-
-
|
|
396
|
-
-
|
|
538
|
+
- Make `Utils::BasicObject` pretty printable. (Luca Guidi)
|
|
539
|
+
- Added `Interactor::Result#successful?` and `#failing?`. (Grachev Mikhail)
|
|
397
540
|
|
|
398
541
|
### Fixed
|
|
399
542
|
|
|
400
|
-
-
|
|
543
|
+
- Ensure `Utils::Class.load!` to lookup constant only within the given namespace. (Pascal Betz)
|
|
401
544
|
|
|
402
545
|
### Changed
|
|
403
546
|
|
|
404
|
-
-
|
|
405
|
-
-
|
|
547
|
+
- Make `Utils::Hash` only compatible with objects that respond to `#to_hash`. (Luca Guidi)
|
|
548
|
+
- Official support for Ruby: MRI 2.3+ and JRuby 9.1.5.0+. (Luca Guidi)
|
|
406
549
|
|
|
407
|
-
|
|
550
|
+
[0.9.0]: https://github.com/hanami/hanami-utils/compare/v0.8.0...v0.9.0
|
|
551
|
+
|
|
552
|
+
## [0.8.0] - 2016-07-22
|
|
408
553
|
|
|
409
554
|
### Added
|
|
410
555
|
|
|
411
|
-
-
|
|
412
|
-
-
|
|
413
|
-
-
|
|
414
|
-
-
|
|
415
|
-
-
|
|
556
|
+
- Introduced `Hanami::Utils::Blank`. (Andrey Morskov)
|
|
557
|
+
- Allow to specify a default log level for `Hanami::Logger`. (Anton Davydov)
|
|
558
|
+
- Introduced default and JSON formatters for `Hanami::Logger`. (Anton Davydov)
|
|
559
|
+
- Allow deep indifferent access for `Hanami::Utils::Attributes`. (Erol Fornoles)
|
|
560
|
+
- Introduced `Hanami::Utils::Json` which is a proxy for `MultiJson` (from `multi_json` gem), or fallback to `JSON` from Ruby standard library. (Anton Davydov)
|
|
416
561
|
|
|
417
562
|
### Fixed
|
|
418
563
|
|
|
419
|
-
-
|
|
420
|
-
-
|
|
421
|
-
-
|
|
564
|
+
- Ensure `Hanami::Utils::String#classify` to return already classified strings as they are. Eg. `"AwesomeProject"` should return `"AwesomeProject"`, not `"Awesomeproject"`. (Hiếu Nguyễn)
|
|
565
|
+
- Fix English pluralization for words ending with `"rses"`. (TheSmartnik)
|
|
566
|
+
- Fix English pluralization for words ending with `"ice"`. (Rogério Ramos)
|
|
422
567
|
|
|
423
568
|
### Changed
|
|
424
569
|
|
|
425
|
-
-
|
|
570
|
+
- Drop support for Ruby 2.0, 2.1 and Rubinius. Official support for JRuby 9.0.5.0+. (Luca Guidi)
|
|
571
|
+
|
|
572
|
+
[0.8.0]: https://github.com/hanami/hanami-utils/compare/v0.7.1...v0.8.0
|
|
426
573
|
|
|
427
|
-
##
|
|
574
|
+
## [0.7.1] - 2016-02-05
|
|
428
575
|
|
|
429
576
|
### Fixed
|
|
430
577
|
|
|
431
|
-
-
|
|
432
|
-
-
|
|
578
|
+
- `Hanami::Utils::Escape`: fixed Ruby warning for `String#chars` with a block, which is deprecated. Using `String#each_char` now. (Yuuji Yaginuma)
|
|
579
|
+
- Allow non string objects to be escaped by `Hanami::Utils::Escape`. (Sean Collins)
|
|
580
|
+
|
|
581
|
+
[0.7.1]: https://github.com/hanami/hanami-utils/compare/v0.7.0...v0.7.1
|
|
433
582
|
|
|
434
|
-
##
|
|
583
|
+
## [0.7.0] - 2016-01-22
|
|
435
584
|
|
|
436
585
|
### Changed
|
|
437
586
|
|
|
438
|
-
-
|
|
587
|
+
- Renamed the project. (Luca Guidi)
|
|
439
588
|
|
|
440
|
-
|
|
589
|
+
[0.7.0]: https://github.com/hanami/hanami-utils/compare/v0.6.1...v0.7.0
|
|
590
|
+
|
|
591
|
+
## [0.6.1] - 2016-01-19
|
|
441
592
|
|
|
442
593
|
### Fixed
|
|
443
594
|
|
|
444
|
-
-
|
|
595
|
+
- Ensure `Lotus::Utils::String#classify` to work properly with dashes (eg. `"app-store" => "App::Store"`). (Anton Davydov)
|
|
596
|
+
|
|
597
|
+
[0.6.1]: https://github.com/hanami/hanami-utils/compare/v0.6.0...v0.6.1
|
|
445
598
|
|
|
446
|
-
##
|
|
599
|
+
## [0.6.0] - 2016-01-12
|
|
447
600
|
|
|
448
601
|
### Added
|
|
449
602
|
|
|
450
|
-
-
|
|
451
|
-
-
|
|
452
|
-
-
|
|
453
|
-
-
|
|
603
|
+
- Official support for Ruby 2.3. (Luca Guidi)
|
|
604
|
+
- Custom inflections. (Luca Guidi)
|
|
605
|
+
- Introduced `Lotus::Utils::Duplicable` as a safe dup logic for Ruby types. (Luca Guidi)
|
|
606
|
+
- Added `Lotus::Utils::String#rsub` replace rightmost occurrence. (Luca Guidi)
|
|
454
607
|
|
|
455
608
|
### Fixed
|
|
456
609
|
|
|
457
|
-
-
|
|
458
|
-
-
|
|
610
|
+
- Fix `Lotus::Utils::PathPrefix#join` and `#relative_join` by rejecting arguments that are equal to the separator. (Luca Guidi)
|
|
611
|
+
- Fix `Encoding::UndefinedConversionError` in `Lotus::Utils::Escape.encode`. (Karim Kiatlottiavi)
|
|
459
612
|
|
|
460
613
|
### Changed
|
|
461
614
|
|
|
462
|
-
-
|
|
463
|
-
-
|
|
464
|
-
-
|
|
615
|
+
- Deprecate Ruby 2.0 and 2.1. (Luca Guidi)
|
|
616
|
+
- Removed `Lotus::Utils::Callbacks#add` in favor of `#append`. (Luca Guidi)
|
|
617
|
+
- Removed pattern support for `Utils::Class.load!` (eg. `Articles(Controller|::Controller)`). (Luca Guidi)
|
|
618
|
+
|
|
619
|
+
[0.6.0]: https://github.com/hanami/hanami-utils/compare/v0.5.2...v0.6.0
|
|
465
620
|
|
|
466
|
-
##
|
|
621
|
+
## [0.5.2] - 2015-09-30
|
|
467
622
|
|
|
468
623
|
### Added
|
|
469
624
|
|
|
470
|
-
-
|
|
471
|
-
-
|
|
625
|
+
- Added `Lotus::Utils::String#capitalize`. (Luca Guidi)
|
|
626
|
+
- Official support for JRuby 9k+. (Trung Lê)
|
|
472
627
|
|
|
473
|
-
|
|
628
|
+
[0.5.2]: https://github.com/hanami/hanami-utils/compare/v0.5.1...v0.5.2
|
|
629
|
+
|
|
630
|
+
## [0.5.1] - 2015-07-10
|
|
474
631
|
|
|
475
632
|
### Fixed
|
|
476
633
|
|
|
477
|
-
-
|
|
634
|
+
- Ensure `Lotus::Utils::PathPrefix#join` won't remote duplicate entries (eg `/admin/dashboard/admin`). (Thiago Felippe)
|
|
635
|
+
|
|
636
|
+
[0.5.1]: https://github.com/hanami/hanami-utils/compare/v0.5.0...v0.5.1
|
|
478
637
|
|
|
479
|
-
##
|
|
638
|
+
## [0.5.0] - 2015-06-23
|
|
480
639
|
|
|
481
640
|
### Added
|
|
482
641
|
|
|
483
|
-
-
|
|
642
|
+
- Extracted `Lotus::Logger` from `hanamirb`. (Luca Guidi)
|
|
484
643
|
|
|
485
644
|
### Changed
|
|
486
645
|
|
|
487
|
-
-
|
|
646
|
+
- `Lotus::Interactor::Result` contains only objects explicitly exposed via `Lotus::Interactor.expose`. (Luca Guidi)
|
|
647
|
+
|
|
648
|
+
[0.5.0]: https://github.com/hanami/hanami-utils/compare/v0.4.3...v0.5.0
|
|
488
649
|
|
|
489
|
-
##
|
|
650
|
+
## [0.4.3] - 2015-05-22
|
|
490
651
|
|
|
491
652
|
### Added
|
|
492
653
|
|
|
493
|
-
-
|
|
654
|
+
- Improved `Lotus::Utils::Kernel` messages for `TypeError`. (François Beausoleil)
|
|
494
655
|
|
|
495
|
-
|
|
656
|
+
[0.4.3]: https://github.com/hanami/hanami-utils/compare/v0.4.2...v0.4.3
|
|
657
|
+
|
|
658
|
+
## [0.4.2] - 2015-05-15
|
|
496
659
|
|
|
497
660
|
### Fixed
|
|
498
661
|
|
|
499
|
-
-
|
|
662
|
+
- Ensure `Lotus::Utils::Attributes#to_h` to return `::Hash`. (Luca Guidi)
|
|
663
|
+
|
|
664
|
+
[0.4.2]: https://github.com/hanami/hanami-utils/compare/v0.4.1...v0.4.2
|
|
500
665
|
|
|
501
|
-
##
|
|
666
|
+
## [0.4.1] - 2015-05-15
|
|
502
667
|
|
|
503
668
|
### Added
|
|
504
669
|
|
|
505
|
-
-
|
|
670
|
+
- Introduced `Lotus::Utils::Inflector`, `Lotus::Utils::String#pluralize` and `#singularize`. (Luca Guidi & Alfonso Uceda Pompa)
|
|
506
671
|
|
|
507
672
|
### Fixed
|
|
508
673
|
|
|
509
|
-
-
|
|
510
|
-
-
|
|
674
|
+
- Ensure `Lotus::Utils::Attributes#to_h` to safely return nested `::Hash` instances for complex data structures. (Luca Guidi)
|
|
675
|
+
- Let `Lotus::Interactor#error` to return a falsey value for control flow. (eg. `check_permissions or error "You can't access"`). (Luca Guidi)
|
|
676
|
+
|
|
677
|
+
[0.4.1]: https://github.com/hanami/hanami-utils/compare/v0.4.0...v0.4.1
|
|
511
678
|
|
|
512
|
-
##
|
|
679
|
+
## [0.4.0] - 2015-03-23
|
|
513
680
|
|
|
514
681
|
### Added
|
|
515
682
|
|
|
516
|
-
-
|
|
517
|
-
-
|
|
518
|
-
-
|
|
683
|
+
- Introduced `Lotus::Utils::Escape`. It implements OWASP/ESAPI suggestions for HTML, HTML attribute and URL escape utilities. (Luca Guidi)
|
|
684
|
+
- Introduced `Lotus::Utils::String#dasherize`. (Luca Guidi)
|
|
685
|
+
- Introduced `Lotus::Utils::String#titleize`. (Luca Guidi)
|
|
519
686
|
|
|
520
|
-
|
|
687
|
+
[0.4.0]: https://github.com/hanami/hanami-utils/compare/v0.3.5...v0.4.0
|
|
688
|
+
|
|
689
|
+
## [0.3.5] - 2015-03-12
|
|
521
690
|
|
|
522
691
|
### Added
|
|
523
692
|
|
|
524
|
-
-
|
|
525
|
-
-
|
|
693
|
+
- Introduced `Lotus::Interactor`. (Luca Guidi)
|
|
694
|
+
- Introduced `Lotus::Utils::BasicObject`. (Luca Guidi)
|
|
695
|
+
|
|
696
|
+
[0.3.5]: https://github.com/hanami/hanami-utils/compare/v0.3.4...v0.3.5
|
|
526
697
|
|
|
527
|
-
##
|
|
698
|
+
## [0.3.4] - 2015-01-30
|
|
528
699
|
|
|
529
700
|
### Added
|
|
530
701
|
|
|
531
|
-
-
|
|
532
|
-
-
|
|
702
|
+
- Aliased `Lotus::Utils::Attributes#get` with `#[]`. (Alfonso Uceda Pompa)
|
|
703
|
+
- Introduced `Lotus::Utils::Callbacks::Chain#prepend` and `#append`. (Simone Carletti)
|
|
533
704
|
|
|
534
705
|
### Deprecated
|
|
535
706
|
|
|
536
|
-
-
|
|
707
|
+
- Deprecated `Lotus::Utils::Callbacks::Chain#add` in favor of `#append`. (Luca Guidi)
|
|
708
|
+
|
|
709
|
+
[0.3.4]: https://github.com/hanami/hanami-utils/compare/v0.3.3...v0.3.4
|
|
537
710
|
|
|
538
|
-
##
|
|
711
|
+
## [0.3.3] - 2015-01-08
|
|
539
712
|
|
|
540
713
|
### Fixed
|
|
541
714
|
|
|
542
|
-
-
|
|
543
|
-
-
|
|
715
|
+
- Ensure to return the right offending object if a missing method is called with Utils::String and Hash (eg. `Utils::Hash.new(a: 1).all? {|_, v| v.foo }` blame `v` instead of `Hash`). (Luca Guidi)
|
|
716
|
+
- Raise an error if try to coerce non numeric strings into Integer, Float & BigDecimal (eg. `Utils::Kernel.Integer("hello") # => raise TypeError`). (Luca Guidi)
|
|
544
717
|
|
|
545
|
-
|
|
718
|
+
[0.3.3]: https://github.com/hanami/hanami-utils/compare/v0.3.2...v0.3.3
|
|
719
|
+
|
|
720
|
+
## [0.3.2] - 2014-12-23
|
|
546
721
|
|
|
547
722
|
### Added
|
|
548
723
|
|
|
549
|
-
-
|
|
550
|
-
-
|
|
551
|
-
-
|
|
724
|
+
- Official support for Ruby 2.2. (Luca Guidi)
|
|
725
|
+
- Introduced `Utils::Attributes`. (Luca Guidi)
|
|
726
|
+
- Added `Utils::Hash#stringify!`. (Luca Guidi)
|
|
727
|
+
|
|
728
|
+
[0.3.2]: https://github.com/hanami/hanami-utils/compare/v0.3.1...v0.3.2
|
|
552
729
|
|
|
553
|
-
##
|
|
730
|
+
## [0.3.1] - 2014-11-23
|
|
554
731
|
|
|
555
732
|
### Added
|
|
556
733
|
|
|
557
|
-
-
|
|
558
|
-
-
|
|
559
|
-
-
|
|
560
|
-
-
|
|
561
|
-
-
|
|
562
|
-
-
|
|
563
|
-
-
|
|
564
|
-
-
|
|
565
|
-
-
|
|
566
|
-
-
|
|
567
|
-
-
|
|
734
|
+
- Allow `Utils::Class.load!` to accept any object that implements `#to_s`. (Luca Guidi)
|
|
735
|
+
- Allow `Utils::Class.load!` to accept a class. (Trung Lê)
|
|
736
|
+
- Introduced `Utils::Class.load_from_pattern!`. (Luca Guidi)
|
|
737
|
+
- Introduced `Utils.jruby?` and `Utils.rubinius?`. (Luca Guidi)
|
|
738
|
+
- Introduced `Utils::Deprecation`. (Luca Guidi)
|
|
739
|
+
- Official support for Rubinius 2.3+. (Luca Guidi)
|
|
740
|
+
- Official support for JRuby 1.7+ (with 2.0 mode). (Luca Guidi)
|
|
741
|
+
- Implemented `Utils::PathPrefix` relativness and absolutness. (Janko Marohnić)
|
|
742
|
+
- Made `Utils::PathPrefix` `#join` and `#relative_join` to return a new instance of that class. (Luca Guidi)
|
|
743
|
+
- Implemented `Utils::Hash#deep_dup`. (Luca Guidi)
|
|
744
|
+
- Made `Utils::PathPrefix#join` to accept multiple argument. (Luca Guidi)
|
|
568
745
|
|
|
569
746
|
### Fixed
|
|
570
747
|
|
|
571
|
-
-
|
|
572
|
-
-
|
|
748
|
+
- Made `Utils::PathPrefix#join` remove trailing occurrences for `@separator` from the output. (Luca Guidi)
|
|
749
|
+
- Made `Utils::PathPrefix#relative_join` to correctly replace all the instances of `@separator` from the output. (Luca Guidi)
|
|
573
750
|
|
|
574
751
|
### Deprecated
|
|
575
752
|
|
|
576
|
-
-
|
|
753
|
+
- Deprecated `Utils::Class.load!` with a pattern like `Articles(Controller|::Controller)`, use `Utils::Class.load_from_pattern!` instead. (Luca Guidi)
|
|
754
|
+
|
|
755
|
+
[0.3.1]: https://github.com/hanami/hanami-utils/compare/v0.3.0...v0.3.1
|
|
577
756
|
|
|
578
|
-
##
|
|
757
|
+
## [0.3.0] - 2014-10-23
|
|
579
758
|
|
|
580
759
|
### Added
|
|
581
760
|
|
|
582
|
-
-
|
|
583
|
-
-
|
|
584
|
-
-
|
|
585
|
-
-
|
|
586
|
-
-
|
|
761
|
+
- Add BigDecimal coercion to Lotus::Utils::Kernel. (Celso Fernandes)
|
|
762
|
+
- Define `Boolean` constant, if missing. (Luca Guidi)
|
|
763
|
+
- Use composition over inheritance for `Lotus::Utils::PathPrefix`. (Luca Guidi)
|
|
764
|
+
- Use composition over inheritance for `Lotus::Utils::Hash`. (Luca Guidi)
|
|
765
|
+
- Use composition over inheritance for `Lotus::Utils::String`. (Luca Guidi)
|
|
587
766
|
|
|
588
767
|
### Fixed
|
|
589
768
|
|
|
590
|
-
-
|
|
591
|
-
-
|
|
592
|
-
-
|
|
593
|
-
-
|
|
594
|
-
-
|
|
595
|
-
-
|
|
596
|
-
-
|
|
769
|
+
- Improved error message for `Utils::Class.load!`. (Luca Guidi)
|
|
770
|
+
- Improved error `NameError` message by passing in the whole constant name to `Utils::Class.load!`. (Tom Kadwill)
|
|
771
|
+
- `Utils::Hash#to_h` return instances of `::Hash` in case of nested symbolized data structure. (Luca Guidi)
|
|
772
|
+
- Raise `TypeError` if `nil` is passed to `PathPrefix#relative_join`. (Luca Guidi)
|
|
773
|
+
- Define `Lotus::Utils::Hash#respond_to_missing?`. (Peter Suschlik)
|
|
774
|
+
- Define `Lotus::Utils::String#responds_to_missing?`. (Peter Suschlik)
|
|
775
|
+
- Ensure `Utils::Hash#inspect` output to be the same of `::Hash#inspect`. (Luca Guidi)
|
|
597
776
|
|
|
598
|
-
|
|
777
|
+
[0.3.0]: https://github.com/hanami/hanami-utils/compare/v0.2.0...v0.3.0
|
|
778
|
+
|
|
779
|
+
## [0.2.0] - 2014-06-23
|
|
599
780
|
|
|
600
781
|
### Added
|
|
601
782
|
|
|
602
|
-
-
|
|
603
|
-
-
|
|
604
|
-
-
|
|
605
|
-
-
|
|
606
|
-
-
|
|
607
|
-
-
|
|
608
|
-
-
|
|
609
|
-
-
|
|
783
|
+
- Implemented `Lotus::Utils::Kernel.Symbol`. (Luca Guidi)
|
|
784
|
+
- Made `Kernel.Pathname` to raise an error when `nil` is passed as argument. (Luca Guidi)
|
|
785
|
+
- Implemented `Lotus::Utils::LoadPaths#freeze` in order to prevent modification after the object has been frozen. (Luca Guidi)
|
|
786
|
+
- Implemented Lotus::Utils::LoadPaths#push, also aliased as #<<. (Luca Guidi)
|
|
787
|
+
- Use composition over inheritance for `Lotus::Utils::LoadPaths`. (Luca Guidi)
|
|
788
|
+
- Introduced `Lotus::Utils::LoadPaths`. (Luca Guidi)
|
|
789
|
+
- Introduced `Lotus::Utils::String#namespace`, in order to return the top level Ruby namespace for the given string. (Luca Guidi)
|
|
790
|
+
- Implemented `Lotus::Utils::Kernel.Pathname`. (Luca Guidi)
|
|
610
791
|
|
|
611
792
|
### Fixed
|
|
612
793
|
|
|
613
|
-
-
|
|
794
|
+
- Implemented `Lotus::Utils::LoadPaths#initialize_copy` in order to safely `#dup` and `#clone`. (Luca Guidi)
|
|
614
795
|
|
|
615
796
|
### Changed
|
|
616
797
|
|
|
617
|
-
-
|
|
618
|
-
-
|
|
619
|
-
-
|
|
620
|
-
-
|
|
621
|
-
-
|
|
622
|
-
-
|
|
623
|
-
-
|
|
624
|
-
-
|
|
625
|
-
-
|
|
626
|
-
-
|
|
627
|
-
-
|
|
628
|
-
-
|
|
629
|
-
-
|
|
798
|
+
- Implemented `Lotus::Utils::Callbacks::Chain#freeze` in order to prevent modification after the object has been frozen. (Luca Guidi)
|
|
799
|
+
- All the `Utils::Kernel` methods will raise `TypeError` in case of failed coercion. (Luca Guidi)
|
|
800
|
+
- Made `Kernel.Time` to raise an error when `nil` is passed as argument. (Luca Guidi)
|
|
801
|
+
- Made `Kernel.DateTime` to raise an error when `nil` is passed as argument. (Luca Guidi)
|
|
802
|
+
- Made `Kernel.Date` to raise an error when `nil` is passed as argument. (Luca Guidi)
|
|
803
|
+
- Made `Kernel.Boolean` to return false when `nil` is passed as argument. (Luca Guidi)
|
|
804
|
+
- Made `Kernel.String` to return an empty string when `nil` is passed as argument. (Luca Guidi)
|
|
805
|
+
- Made `Kernel.Float` to return `0.0` when `nil` is passed as argument. (Luca Guidi)
|
|
806
|
+
- Made `Kernel.Integer` to return `0` when `nil` is passed as argument. (Luca Guidi)
|
|
807
|
+
- Made `Kernel.Hash` to return an empty `Hash` when `nil` is passed as argument. (Luca Guidi)
|
|
808
|
+
- Made `Kernel.Set` to return an empty `Set` when `nil` is passed as argument. (Luca Guidi)
|
|
809
|
+
- Made `Kernel.Array` to return an empty `Array` when `nil` is passed as argument. (Luca Guidi)
|
|
810
|
+
- Use composition over inheritance for `Lotus::Utils::Callbacks::Chain`. (Luca Guidi)
|
|
811
|
+
|
|
812
|
+
[0.2.0]: https://github.com/hanami/hanami-utils/compare/v0.1.1...v0.2.0
|
|
630
813
|
|
|
631
|
-
##
|
|
814
|
+
## [0.1.1] - 2014-04-23
|
|
632
815
|
|
|
633
816
|
### Added
|
|
634
817
|
|
|
635
|
-
-
|
|
636
|
-
-
|
|
637
|
-
-
|
|
638
|
-
-
|
|
639
|
-
-
|
|
640
|
-
-
|
|
641
|
-
-
|
|
642
|
-
-
|
|
643
|
-
-
|
|
644
|
-
-
|
|
818
|
+
- Implemented `Lotus::Utils::Kernel.Time`. (Luca Guidi)
|
|
819
|
+
- Implemented `Lotus::Utils::Kernel.DateTime`. (Luca Guidi)
|
|
820
|
+
- Implemented `Lotus::Utils::Kernel.Date`. (Luca Guidi)
|
|
821
|
+
- Implemented `Lotus::Utils::Kernel.Float`. (Luca Guidi)
|
|
822
|
+
- Implemented `Lotus::Utils::Kernel.Boolean`. (Luca Guidi)
|
|
823
|
+
- Implemented `Lotus::Utils::Kernel.Hash`. (Luca Guidi)
|
|
824
|
+
- Implemented `Lotus::Utils::Kernel.Set`. (Luca Guidi)
|
|
825
|
+
- Implemented `Lotus::Utils::Kernel.String`. (Luca Guidi)
|
|
826
|
+
- Implemented `Lotus::Utils::Kernel.Integer`. (Luca Guidi)
|
|
827
|
+
- Implemented `Lotus::Utils::Kernel.Array`. (Luca Guidi)
|
|
645
828
|
|
|
646
829
|
### Fixed
|
|
647
830
|
|
|
648
|
-
-
|
|
831
|
+
- Add missing stdlib `Set` require to `Utils::ClassAttribute`. (Christopher Keele)
|
|
832
|
+
|
|
833
|
+
[0.1.1]: https://github.com/hanami/hanami-utils/compare/v0.1.0...v0.1.1
|
|
649
834
|
|
|
650
|
-
##
|
|
835
|
+
## 0.1.0 - 2014-01-23
|
|
651
836
|
|
|
652
837
|
### Added
|
|
653
838
|
|
|
654
|
-
-
|
|
655
|
-
-
|
|
656
|
-
-
|
|
657
|
-
-
|
|
658
|
-
-
|
|
659
|
-
-
|
|
660
|
-
-
|
|
661
|
-
-
|
|
662
|
-
-
|
|
839
|
+
- Introduced `Lotus::Utils::String#demodulize`. (Luca Guidi)
|
|
840
|
+
- Introduced `Lotus::Utils::IO.silence_warnings`. (Luca Guidi)
|
|
841
|
+
- Introduced class loading mechanism from a string: `Utils::Class.load!`. (Luca Guidi)
|
|
842
|
+
- Introduced callbacks support for classes. (Luca Guidi)
|
|
843
|
+
- Introduced inheritable class level attributes. (Luca Guidi)
|
|
844
|
+
- Introduced `Utils::Hash`. (Luca Guidi)
|
|
845
|
+
- Introduced `Utils::String`. (Luca Guidi)
|
|
846
|
+
- Introduced `Utils::PathPrefix`. (Luca Guidi)
|
|
847
|
+
- Official support for MRI 2.0+. (Luca Guidi)
|