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