hanami-utils 2.3.0 → 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 +472 -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,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).
|
|
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/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
|
|
8
37
|
|
|
9
38
|
### Changed
|
|
10
39
|
|
|
11
40
|
- Drop support for Ruby 3.1
|
|
12
41
|
|
|
13
|
-
|
|
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
|
|
51
|
+
|
|
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
|
|
20
59
|
|
|
21
|
-
##
|
|
60
|
+
## [2.2.0.beta1] - 2024-07-16
|
|
22
61
|
|
|
23
62
|
### Changed
|
|
24
63
|
|
|
25
64
|
- Drop support for Ruby 3.0
|
|
26
65
|
|
|
27
|
-
|
|
66
|
+
[2.2.0.beta1]: https://github.com/hanami/hanami-utils/compare/v2.1.0...v2.2.0.beta1
|
|
28
67
|
|
|
29
|
-
##
|
|
68
|
+
## [2.1.0] - 2024-02-27
|
|
30
69
|
|
|
31
|
-
|
|
70
|
+
[2.1.0]: https://github.com/hanami/hanami-utils/compare/v2.1.0.rc3...v2.1.0
|
|
32
71
|
|
|
33
|
-
##
|
|
72
|
+
## [2.1.0.rc3] - 2024-02-16
|
|
73
|
+
|
|
74
|
+
[2.1.0.rc3]: https://github.com/hanami/hanami-utils/compare/v2.1.0.rc2...v2.1.0.rc3
|
|
75
|
+
|
|
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
|
|
34
81
|
|
|
35
82
|
### Changed
|
|
36
83
|
|
|
37
|
-
-
|
|
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
|
|
38
87
|
|
|
39
|
-
##
|
|
88
|
+
## [2.0.3] - 2023-02-01
|
|
40
89
|
|
|
41
90
|
### Fixed
|
|
42
91
|
|
|
43
|
-
-
|
|
92
|
+
- `Hanami::Utils::Blank.blank?` to check if the current object is non-nil. (hi-tech-jazz)
|
|
93
|
+
|
|
94
|
+
[2.0.3]: https://github.com/hanami/hanami-utils/compare/v2.0.2...v2.0.3
|
|
44
95
|
|
|
45
|
-
##
|
|
96
|
+
## [2.0.2] - 2022-12-25
|
|
46
97
|
|
|
47
98
|
### Added
|
|
48
99
|
|
|
49
|
-
-
|
|
100
|
+
- Official support for Ruby 3.2. (Luca Guidi)
|
|
50
101
|
|
|
51
|
-
|
|
102
|
+
[2.0.2]: https://github.com/hanami/hanami-utils/compare/v2.0.1...v2.0.2
|
|
103
|
+
|
|
104
|
+
## [2.0.1] - 2022-12-06
|
|
52
105
|
|
|
53
106
|
### Fixed
|
|
54
107
|
|
|
55
|
-
-
|
|
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
|
|
111
|
+
|
|
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
|
|
58
115
|
|
|
59
|
-
##
|
|
116
|
+
## [2.0.0.rc1] - 2022-11-08
|
|
60
117
|
|
|
61
118
|
### Fixed
|
|
62
119
|
|
|
63
|
-
-
|
|
120
|
+
- Ensure `Hanami::Utils::String.underscore` to replace `"."` (dot character) into underscore. (Benjamin Klotz)
|
|
64
121
|
|
|
65
122
|
### Changed
|
|
66
123
|
|
|
67
|
-
-
|
|
124
|
+
- Removed `Hanami::Logger` in favor of `Dry::Logger`. (Luca Guidi)
|
|
68
125
|
|
|
69
|
-
|
|
126
|
+
[2.0.0.rc1]: https://github.com/hanami/hanami-utils/compare/v2.0.0.beta1...v2.0.0.rc1
|
|
127
|
+
|
|
128
|
+
## [2.0.0.beta1] - 2022-07-20
|
|
70
129
|
|
|
71
130
|
### Changed
|
|
72
131
|
|
|
73
|
-
-
|
|
74
|
-
-
|
|
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
|
|
75
136
|
|
|
76
|
-
##
|
|
137
|
+
## [2.0.0.alpha6] - 2022-02-10
|
|
77
138
|
|
|
78
139
|
### Added
|
|
79
140
|
|
|
80
|
-
-
|
|
141
|
+
- Official support for Ruby: MRI 3.0 and 3.1. (Luca Guidi)
|
|
81
142
|
|
|
82
143
|
### Fixed
|
|
83
144
|
|
|
84
|
-
-
|
|
145
|
+
- Allow `Hanami::Logger#initialize` to accept `File::NULL` as `stream:` argument. (Rob Jacoby)
|
|
85
146
|
|
|
86
147
|
### Changed
|
|
87
148
|
|
|
88
|
-
-
|
|
149
|
+
- Drop support for Ruby: MRI 2.6 and 2.7. (Luca Guidi)
|
|
150
|
+
|
|
151
|
+
[2.0.0.alpha6]: https://github.com/hanami/hanami-utils/compare/v2.0.0.alpha3...v2.0.0.alpha6
|
|
89
152
|
|
|
90
|
-
##
|
|
153
|
+
## [2.0.0.alpha3] - 2021-11-09
|
|
91
154
|
|
|
92
155
|
No changes.
|
|
93
156
|
|
|
94
|
-
|
|
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
|
|
95
160
|
|
|
96
161
|
### Changed
|
|
97
162
|
|
|
98
|
-
-
|
|
99
|
-
-
|
|
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
|
|
100
167
|
|
|
101
|
-
##
|
|
168
|
+
## [2.0.0.alpha1] - 2019-01-30
|
|
102
169
|
|
|
103
170
|
### Added
|
|
104
171
|
|
|
105
|
-
-
|
|
106
|
-
-
|
|
172
|
+
- Introduce `Hanami::Middleware` namespace. (Gustavo Caso)
|
|
173
|
+
- Introduce `Callbacks::Chain#dup`. (Luca Guidi)
|
|
107
174
|
|
|
108
175
|
### Changed
|
|
109
176
|
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
-
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
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)
|
|
187
|
+
|
|
188
|
+
[2.0.0.alpha1]: https://github.com/hanami/hanami-utils/compare/v1.3.8...v2.0.0.alpha1
|
|
120
189
|
|
|
121
|
-
##
|
|
190
|
+
## [1.3.8] - 2021-05-03
|
|
122
191
|
|
|
123
192
|
### Fixed
|
|
124
193
|
|
|
125
|
-
-
|
|
194
|
+
- Ensure `Hanami::Interactor#initialize` to accept keyword arguments while working with Ruby 3. (Hiếu Nguyễn)
|
|
126
195
|
|
|
127
|
-
|
|
196
|
+
[1.3.8]: https://github.com/hanami/hanami-utils/compare/v1.3.7...v1.3.8
|
|
197
|
+
|
|
198
|
+
## [1.3.7] - 2021-01-04
|
|
128
199
|
|
|
129
200
|
### Added
|
|
130
201
|
|
|
131
|
-
-
|
|
132
|
-
-
|
|
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)
|
|
133
204
|
|
|
134
205
|
### Fixed
|
|
135
206
|
|
|
136
|
-
-
|
|
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
|
|
137
210
|
|
|
138
|
-
##
|
|
211
|
+
## [1.3.6] - 2020-01-07
|
|
139
212
|
|
|
140
213
|
### Added
|
|
141
214
|
|
|
142
|
-
-
|
|
215
|
+
- Official support for Ruby: MRI 2.7. (Luca Guidi)
|
|
143
216
|
|
|
144
217
|
### Fixed
|
|
145
218
|
|
|
146
|
-
-
|
|
219
|
+
- `Utils::Files.append`: don't check breakline if file is empty. (ippachi)
|
|
220
|
+
|
|
221
|
+
[1.3.6]: https://github.com/hanami/hanami-utils/compare/v1.3.5...v1.3.6
|
|
147
222
|
|
|
148
|
-
##
|
|
223
|
+
## [1.3.5] - 2019-10-25
|
|
149
224
|
|
|
150
225
|
### Fixed
|
|
151
226
|
|
|
152
|
-
-
|
|
153
|
-
-
|
|
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)
|
|
154
229
|
|
|
155
|
-
|
|
230
|
+
[1.3.5]: https://github.com/hanami/hanami-utils/compare/v1.3.4...v1.3.5
|
|
231
|
+
|
|
232
|
+
## [1.3.4] - 2019-09-27
|
|
156
233
|
|
|
157
234
|
### Added
|
|
158
235
|
|
|
159
|
-
-
|
|
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
|
|
160
239
|
|
|
161
|
-
##
|
|
240
|
+
## [1.3.3] - 2019-09-13
|
|
162
241
|
|
|
163
242
|
### Fixed
|
|
164
243
|
|
|
165
|
-
-
|
|
244
|
+
- Ensure `Utils::Inflector.pluralize` and `.singularize` to work with words that contain an underscore (`_`). (Mauro Morales)
|
|
245
|
+
|
|
246
|
+
[1.3.3]: https://github.com/hanami/hanami-utils/compare/v1.3.2...v1.3.3
|
|
166
247
|
|
|
167
|
-
##
|
|
248
|
+
## [1.3.2] - 2019-06-21
|
|
168
249
|
|
|
169
250
|
### Added
|
|
170
251
|
|
|
171
|
-
-
|
|
252
|
+
- Added `Utils::BasicObject#instance_of?`, `#is_a?`, and `#kind_of`. (Vladislav Yashin & Luca Guidi)
|
|
172
253
|
|
|
173
|
-
|
|
254
|
+
[1.3.2]: https://github.com/hanami/hanami-utils/compare/v1.3.1...v1.3.2
|
|
255
|
+
|
|
256
|
+
## [1.3.1] - 2019-01-18
|
|
174
257
|
|
|
175
258
|
### Added
|
|
176
259
|
|
|
177
|
-
-
|
|
178
|
-
-
|
|
260
|
+
- Official support for Ruby: MRI 2.6. (Luca Guidi)
|
|
261
|
+
- Support `bundler` 2.0+. (Luca Guidi)
|
|
179
262
|
|
|
180
263
|
### Fixed
|
|
181
264
|
|
|
182
|
-
-
|
|
183
|
-
-
|
|
265
|
+
- Fix `Hash` serialization for `Utils::Logger`. (Alfonso Uceda)
|
|
266
|
+
- Add missing `pathname` require in `lib/hanami/utils.rb`. (Jeff Dickey)
|
|
267
|
+
|
|
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
|
|
186
271
|
|
|
187
|
-
|
|
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
|
|
188
275
|
|
|
189
276
|
### Added
|
|
190
277
|
|
|
191
|
-
-
|
|
192
|
-
-
|
|
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)
|
|
193
280
|
|
|
194
281
|
### Fixed
|
|
195
282
|
|
|
196
|
-
-
|
|
197
|
-
-
|
|
283
|
+
- Don't show `Fixnum` Ruby warning for 2.4+. (graywolf)
|
|
284
|
+
- Fix pluralization of `"fee"`. (Luca Guidi)
|
|
198
285
|
|
|
199
286
|
### Deprecated
|
|
200
287
|
|
|
201
|
-
-
|
|
202
|
-
-
|
|
203
|
-
-
|
|
204
|
-
-
|
|
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
|
|
294
|
+
|
|
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
|
|
207
298
|
|
|
208
|
-
##
|
|
299
|
+
## [1.2.0.rc2] - 2018-04-06
|
|
209
300
|
|
|
210
301
|
### Added
|
|
211
302
|
|
|
212
|
-
-
|
|
303
|
+
- Use different colors for each `Hanami::Logger` level. (Luca Guidi)
|
|
213
304
|
|
|
214
|
-
|
|
305
|
+
[1.2.0.rc2]: https://github.com/hanami/hanami-utils/compare/v1.2.0.rc1...v1.2.0.rc2
|
|
306
|
+
|
|
307
|
+
## [1.2.0.rc1] - 2018-03-30
|
|
215
308
|
|
|
216
309
|
### Added
|
|
217
310
|
|
|
218
|
-
-
|
|
311
|
+
- Colored logging. (Oana Sipos & Sean Collins & Luca Guidi)
|
|
219
312
|
|
|
220
313
|
### Fixed
|
|
221
314
|
|
|
222
|
-
-
|
|
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
|
|
318
|
+
|
|
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
|
|
227
324
|
|
|
228
|
-
|
|
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
|
|
229
328
|
|
|
230
329
|
### Added
|
|
231
330
|
|
|
232
|
-
-
|
|
331
|
+
- Official support for Ruby: MRI 2.5. (Luca Guidi)
|
|
233
332
|
|
|
234
333
|
### Fixed
|
|
235
334
|
|
|
236
|
-
-
|
|
237
|
-
-
|
|
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)
|
|
238
337
|
|
|
239
338
|
### Changed
|
|
240
339
|
|
|
241
|
-
-
|
|
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
|
|
242
343
|
|
|
243
|
-
##
|
|
344
|
+
## [1.1.1] - 2017-11-22
|
|
244
345
|
|
|
245
346
|
### Added
|
|
246
347
|
|
|
247
|
-
-
|
|
348
|
+
- Introduce `Utils::Hash.deep_stringify` to recursively stringify a hash. (Luca Guidi)
|
|
248
349
|
|
|
249
350
|
### Fixed
|
|
250
351
|
|
|
251
|
-
-
|
|
352
|
+
- Ensure `Interactor#call` to accept non-keyword arguments. (Yuta Tokitake)
|
|
353
|
+
|
|
354
|
+
[1.1.1]: https://github.com/hanami/hanami-utils/compare/v1.1.0...v1.1.1
|
|
252
355
|
|
|
253
|
-
##
|
|
356
|
+
## [1.1.0] - 2017-10-25
|
|
254
357
|
|
|
255
358
|
### Added
|
|
256
359
|
|
|
257
|
-
-
|
|
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
|
|
365
|
+
|
|
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
|
|
262
371
|
|
|
263
|
-
##
|
|
372
|
+
## [1.1.0.beta2] - 2017-10-03
|
|
264
373
|
|
|
265
374
|
### Added
|
|
266
375
|
|
|
267
|
-
-
|
|
376
|
+
- Auto create directory for `Hanami::Logger`. (Alfonso Uceda)
|
|
268
377
|
|
|
269
|
-
|
|
378
|
+
[1.1.0.beta2]: https://github.com/hanami/hanami-utils/compare/v1.1.0.beta1...v1.1.0.beta2
|
|
379
|
+
|
|
380
|
+
## [1.1.0.beta1] - 2017-08-11
|
|
270
381
|
|
|
271
382
|
### Added
|
|
272
383
|
|
|
273
|
-
-
|
|
274
|
-
-
|
|
275
|
-
-
|
|
276
|
-
-
|
|
277
|
-
-
|
|
278
|
-
-
|
|
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
|
|
279
392
|
|
|
280
|
-
##
|
|
393
|
+
## [1.0.4] - 2017-10-02
|
|
281
394
|
|
|
282
395
|
### Fixed
|
|
283
396
|
|
|
284
|
-
-
|
|
285
|
-
-
|
|
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)
|
|
399
|
+
|
|
400
|
+
[1.0.4]: https://github.com/hanami/hanami-utils/compare/v1.0.3...v1.0.4
|
|
286
401
|
|
|
287
|
-
##
|
|
402
|
+
## [1.0.3] - 2017-09-06
|
|
288
403
|
|
|
289
404
|
### Fixed
|
|
290
405
|
|
|
291
|
-
-
|
|
292
|
-
-
|
|
406
|
+
- Fix pluralization/singularization for `"exercise" => "exercises"`. (Malina Sulca)
|
|
407
|
+
- Fix pluralization/singularization for `"area" => "areas"`. (Xavier Barbosa)
|
|
293
408
|
|
|
294
|
-
|
|
409
|
+
[1.0.3]: https://github.com/hanami/hanami-utils/compare/v1.0.2...v1.0.3
|
|
410
|
+
|
|
411
|
+
## [1.0.2] - 2017-07-10
|
|
295
412
|
|
|
296
413
|
### Fixed
|
|
297
414
|
|
|
298
|
-
-
|
|
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
|
|
299
418
|
|
|
300
|
-
##
|
|
419
|
+
## [1.0.1] - 2017-06-23
|
|
301
420
|
|
|
302
421
|
### Added
|
|
303
422
|
|
|
304
|
-
-
|
|
305
|
-
-
|
|
423
|
+
- Introduced `Utils::Hash.symbolize` and `.deep_symbolize`. (Luca Guidi)
|
|
424
|
+
- Introduced `Utils::Hash.deep_dup`. (Luca Guidi)
|
|
306
425
|
|
|
307
426
|
### Fixed
|
|
308
427
|
|
|
309
|
-
-
|
|
310
|
-
-
|
|
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)
|
|
430
|
+
|
|
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
|
|
313
434
|
|
|
314
|
-
|
|
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
|
|
315
438
|
|
|
316
439
|
### Added
|
|
317
440
|
|
|
318
|
-
-
|
|
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
|
|
319
444
|
|
|
320
|
-
##
|
|
445
|
+
## [1.0.0.beta3] - 2017-03-17
|
|
321
446
|
|
|
322
447
|
### Fixed
|
|
323
448
|
|
|
324
|
-
-
|
|
449
|
+
- Use `$stdout` instead of `STDOUT` as default stream for `Hanami::Logger`. (Luca Guidi)
|
|
325
450
|
|
|
326
451
|
### Changed
|
|
327
452
|
|
|
328
|
-
-
|
|
329
|
-
-
|
|
330
|
-
-
|
|
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)
|
|
456
|
+
|
|
457
|
+
[1.0.0.beta3]: https://github.com/hanami/hanami-utils/compare/v1.0.0.beta2...v1.0.0.beta3
|
|
331
458
|
|
|
332
|
-
##
|
|
459
|
+
## [1.0.0.beta2] - 2017-03-02
|
|
333
460
|
|
|
334
461
|
### Changed
|
|
335
462
|
|
|
336
|
-
-
|
|
463
|
+
- Made `Utils::Blank` private API. (Anton Davydov)
|
|
337
464
|
|
|
338
|
-
|
|
465
|
+
[1.0.0.beta2]: https://github.com/hanami/hanami-utils/compare/v1.0.0.beta1...v1.0.0.beta2
|
|
466
|
+
|
|
467
|
+
## [1.0.0.beta1] - 2017-02-14
|
|
339
468
|
|
|
340
469
|
### Added
|
|
341
470
|
|
|
342
|
-
-
|
|
343
|
-
-
|
|
344
|
-
-
|
|
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)
|
|
345
474
|
|
|
346
475
|
### Fixed
|
|
347
476
|
|
|
348
|
-
-
|
|
349
|
-
-
|
|
350
|
-
-
|
|
351
|
-
-
|
|
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)
|
|
352
481
|
|
|
353
482
|
### Changed
|
|
354
483
|
|
|
355
|
-
-
|
|
356
|
-
-
|
|
357
|
-
-
|
|
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
|
|
358
489
|
|
|
359
|
-
##
|
|
490
|
+
## [0.9.2] - 2016-12-19
|
|
360
491
|
|
|
361
492
|
### Added
|
|
362
493
|
|
|
363
|
-
-
|
|
494
|
+
- Introduced `Hanami::Interactor::Result#failure?`. (Grachev Mikhail)
|
|
364
495
|
|
|
365
496
|
### Fixed
|
|
366
497
|
|
|
367
|
-
-
|
|
498
|
+
- `Utils::Inflector.pluralize` Pluralize -en to -ens instead of -ina. (Paweł Świątkowski)
|
|
368
499
|
|
|
369
500
|
### Changed
|
|
370
501
|
|
|
371
|
-
-
|
|
502
|
+
- Deprecate `Hanami::Interactor::Result#failing?` in favor of `#failure?`. (Grachev Mikhail)
|
|
372
503
|
|
|
373
|
-
|
|
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
|
|
374
507
|
|
|
375
508
|
### Added
|
|
376
509
|
|
|
377
|
-
-
|
|
510
|
+
- Introduced `Utils::Json.parse` and `.generate`. (Luca Guidi)
|
|
378
511
|
|
|
379
512
|
### Fixed
|
|
380
513
|
|
|
381
|
-
-
|
|
514
|
+
- Ensure `Utils::Json` parsing to not eval untrusted input. (Luca Guidi)
|
|
382
515
|
|
|
383
516
|
### Changed
|
|
384
517
|
|
|
385
|
-
-
|
|
386
|
-
-
|
|
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
|
|
387
522
|
|
|
388
|
-
##
|
|
523
|
+
## [0.9.0] - 2016-11-15
|
|
389
524
|
|
|
390
525
|
### Added
|
|
391
526
|
|
|
392
|
-
|
|
393
|
-
|
|
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)
|
|
394
529
|
|
|
395
|
-
-
|
|
396
|
-
-
|
|
530
|
+
- Make `Utils::BasicObject` pretty printable. (Luca Guidi)
|
|
531
|
+
- Added `Interactor::Result#successful?` and `#failing?`. (Grachev Mikhail)
|
|
397
532
|
|
|
398
533
|
### Fixed
|
|
399
534
|
|
|
400
|
-
-
|
|
535
|
+
- Ensure `Utils::Class.load!` to lookup constant only within the given namespace. (Pascal Betz)
|
|
401
536
|
|
|
402
537
|
### Changed
|
|
403
538
|
|
|
404
|
-
-
|
|
405
|
-
-
|
|
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
|
|
406
543
|
|
|
407
|
-
##
|
|
544
|
+
## [0.8.0] - 2016-07-22
|
|
408
545
|
|
|
409
546
|
### Added
|
|
410
547
|
|
|
411
|
-
-
|
|
412
|
-
-
|
|
413
|
-
-
|
|
414
|
-
-
|
|
415
|
-
-
|
|
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)
|
|
416
553
|
|
|
417
554
|
### Fixed
|
|
418
555
|
|
|
419
|
-
-
|
|
420
|
-
-
|
|
421
|
-
-
|
|
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)
|
|
422
559
|
|
|
423
560
|
### Changed
|
|
424
561
|
|
|
425
|
-
-
|
|
562
|
+
- Drop support for Ruby 2.0, 2.1 and Rubinius. Official support for JRuby 9.0.5.0+. (Luca Guidi)
|
|
426
563
|
|
|
427
|
-
|
|
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
|
|
428
567
|
|
|
429
568
|
### Fixed
|
|
430
569
|
|
|
431
|
-
-
|
|
432
|
-
-
|
|
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
|
|
433
574
|
|
|
434
|
-
##
|
|
575
|
+
## [0.7.0] - 2016-01-22
|
|
435
576
|
|
|
436
577
|
### Changed
|
|
437
578
|
|
|
438
|
-
-
|
|
579
|
+
- Renamed the project. (Luca Guidi)
|
|
580
|
+
|
|
581
|
+
[0.7.0]: https://github.com/hanami/hanami-utils/compare/v0.6.1...v0.7.0
|
|
439
582
|
|
|
440
|
-
##
|
|
583
|
+
## [0.6.1] - 2016-01-19
|
|
441
584
|
|
|
442
585
|
### Fixed
|
|
443
586
|
|
|
444
|
-
-
|
|
587
|
+
- Ensure `Lotus::Utils::String#classify` to work properly with dashes (eg. `"app-store" => "App::Store"`). (Anton Davydov)
|
|
445
588
|
|
|
446
|
-
|
|
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
|
|
447
592
|
|
|
448
593
|
### Added
|
|
449
594
|
|
|
450
|
-
-
|
|
451
|
-
-
|
|
452
|
-
-
|
|
453
|
-
-
|
|
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)
|
|
454
599
|
|
|
455
600
|
### Fixed
|
|
456
601
|
|
|
457
|
-
-
|
|
458
|
-
-
|
|
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)
|
|
459
604
|
|
|
460
605
|
### Changed
|
|
461
606
|
|
|
462
|
-
-
|
|
463
|
-
-
|
|
464
|
-
-
|
|
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
|
|
465
612
|
|
|
466
|
-
##
|
|
613
|
+
## [0.5.2] - 2015-09-30
|
|
467
614
|
|
|
468
615
|
### Added
|
|
469
616
|
|
|
470
|
-
-
|
|
471
|
-
-
|
|
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
|
|
472
621
|
|
|
473
|
-
##
|
|
622
|
+
## [0.5.1] - 2015-07-10
|
|
474
623
|
|
|
475
624
|
### Fixed
|
|
476
625
|
|
|
477
|
-
-
|
|
626
|
+
- Ensure `Lotus::Utils::PathPrefix#join` won't remote duplicate entries (eg `/admin/dashboard/admin`). (Thiago Felippe)
|
|
478
627
|
|
|
479
|
-
|
|
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
|
|
480
631
|
|
|
481
632
|
### Added
|
|
482
633
|
|
|
483
|
-
-
|
|
634
|
+
- Extracted `Lotus::Logger` from `hanamirb`. (Luca Guidi)
|
|
484
635
|
|
|
485
636
|
### Changed
|
|
486
637
|
|
|
487
|
-
-
|
|
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
|
|
488
641
|
|
|
489
|
-
##
|
|
642
|
+
## [0.4.3] - 2015-05-22
|
|
490
643
|
|
|
491
644
|
### Added
|
|
492
645
|
|
|
493
|
-
-
|
|
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
|
|
494
649
|
|
|
495
|
-
##
|
|
650
|
+
## [0.4.2] - 2015-05-15
|
|
496
651
|
|
|
497
652
|
### Fixed
|
|
498
653
|
|
|
499
|
-
-
|
|
654
|
+
- Ensure `Lotus::Utils::Attributes#to_h` to return `::Hash`. (Luca Guidi)
|
|
500
655
|
|
|
501
|
-
|
|
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
|
|
502
659
|
|
|
503
660
|
### Added
|
|
504
661
|
|
|
505
|
-
-
|
|
662
|
+
- Introduced `Lotus::Utils::Inflector`, `Lotus::Utils::String#pluralize` and `#singularize`. (Luca Guidi & Alfonso Uceda Pompa)
|
|
506
663
|
|
|
507
664
|
### Fixed
|
|
508
665
|
|
|
509
|
-
-
|
|
510
|
-
-
|
|
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
|
|
511
670
|
|
|
512
|
-
##
|
|
671
|
+
## [0.4.0] - 2015-03-23
|
|
513
672
|
|
|
514
673
|
### Added
|
|
515
674
|
|
|
516
|
-
-
|
|
517
|
-
-
|
|
518
|
-
-
|
|
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
|
|
519
680
|
|
|
520
|
-
##
|
|
681
|
+
## [0.3.5] - 2015-03-12
|
|
521
682
|
|
|
522
683
|
### Added
|
|
523
684
|
|
|
524
|
-
-
|
|
525
|
-
-
|
|
685
|
+
- Introduced `Lotus::Interactor`. (Luca Guidi)
|
|
686
|
+
- Introduced `Lotus::Utils::BasicObject`. (Luca Guidi)
|
|
526
687
|
|
|
527
|
-
|
|
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
|
|
528
691
|
|
|
529
692
|
### Added
|
|
530
693
|
|
|
531
|
-
-
|
|
532
|
-
-
|
|
694
|
+
- Aliased `Lotus::Utils::Attributes#get` with `#[]`. (Alfonso Uceda Pompa)
|
|
695
|
+
- Introduced `Lotus::Utils::Callbacks::Chain#prepend` and `#append`. (Simone Carletti)
|
|
533
696
|
|
|
534
697
|
### Deprecated
|
|
535
698
|
|
|
536
|
-
-
|
|
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
|
|
537
702
|
|
|
538
|
-
##
|
|
703
|
+
## [0.3.3] - 2015-01-08
|
|
539
704
|
|
|
540
705
|
### Fixed
|
|
541
706
|
|
|
542
|
-
-
|
|
543
|
-
-
|
|
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
|
|
544
711
|
|
|
545
|
-
##
|
|
712
|
+
## [0.3.2] - 2014-12-23
|
|
546
713
|
|
|
547
714
|
### Added
|
|
548
715
|
|
|
549
|
-
-
|
|
550
|
-
-
|
|
551
|
-
-
|
|
716
|
+
- Official support for Ruby 2.2. (Luca Guidi)
|
|
717
|
+
- Introduced `Utils::Attributes`. (Luca Guidi)
|
|
718
|
+
- Added `Utils::Hash#stringify!`. (Luca Guidi)
|
|
552
719
|
|
|
553
|
-
|
|
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
|
|
554
723
|
|
|
555
724
|
### Added
|
|
556
725
|
|
|
557
|
-
-
|
|
558
|
-
-
|
|
559
|
-
-
|
|
560
|
-
-
|
|
561
|
-
-
|
|
562
|
-
-
|
|
563
|
-
-
|
|
564
|
-
-
|
|
565
|
-
-
|
|
566
|
-
-
|
|
567
|
-
-
|
|
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)
|
|
568
737
|
|
|
569
738
|
### Fixed
|
|
570
739
|
|
|
571
|
-
-
|
|
572
|
-
-
|
|
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)
|
|
573
742
|
|
|
574
743
|
### Deprecated
|
|
575
744
|
|
|
576
|
-
-
|
|
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
|
|
577
748
|
|
|
578
|
-
##
|
|
749
|
+
## [0.3.0] - 2014-10-23
|
|
579
750
|
|
|
580
751
|
### Added
|
|
581
752
|
|
|
582
|
-
-
|
|
583
|
-
-
|
|
584
|
-
-
|
|
585
|
-
-
|
|
586
|
-
-
|
|
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)
|
|
587
758
|
|
|
588
759
|
### Fixed
|
|
589
760
|
|
|
590
|
-
-
|
|
591
|
-
-
|
|
592
|
-
-
|
|
593
|
-
-
|
|
594
|
-
-
|
|
595
|
-
-
|
|
596
|
-
-
|
|
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
|
|
597
770
|
|
|
598
|
-
##
|
|
771
|
+
## [0.2.0] - 2014-06-23
|
|
599
772
|
|
|
600
773
|
### Added
|
|
601
774
|
|
|
602
|
-
-
|
|
603
|
-
-
|
|
604
|
-
-
|
|
605
|
-
-
|
|
606
|
-
-
|
|
607
|
-
-
|
|
608
|
-
-
|
|
609
|
-
-
|
|
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)
|
|
610
783
|
|
|
611
784
|
### Fixed
|
|
612
785
|
|
|
613
|
-
-
|
|
786
|
+
- Implemented `Lotus::Utils::LoadPaths#initialize_copy` in order to safely `#dup` and `#clone`. (Luca Guidi)
|
|
614
787
|
|
|
615
788
|
### Changed
|
|
616
789
|
|
|
617
|
-
-
|
|
618
|
-
-
|
|
619
|
-
-
|
|
620
|
-
-
|
|
621
|
-
-
|
|
622
|
-
-
|
|
623
|
-
-
|
|
624
|
-
-
|
|
625
|
-
-
|
|
626
|
-
-
|
|
627
|
-
-
|
|
628
|
-
-
|
|
629
|
-
-
|
|
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)
|
|
630
803
|
|
|
631
|
-
|
|
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
|
|
632
807
|
|
|
633
808
|
### Added
|
|
634
809
|
|
|
635
|
-
-
|
|
636
|
-
-
|
|
637
|
-
-
|
|
638
|
-
-
|
|
639
|
-
-
|
|
640
|
-
-
|
|
641
|
-
-
|
|
642
|
-
-
|
|
643
|
-
-
|
|
644
|
-
-
|
|
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)
|
|
645
820
|
|
|
646
821
|
### Fixed
|
|
647
822
|
|
|
648
|
-
-
|
|
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
|
|
649
826
|
|
|
650
|
-
##
|
|
827
|
+
## 0.1.0 - 2014-01-23
|
|
651
828
|
|
|
652
829
|
### Added
|
|
653
830
|
|
|
654
|
-
-
|
|
655
|
-
-
|
|
656
|
-
-
|
|
657
|
-
-
|
|
658
|
-
-
|
|
659
|
-
-
|
|
660
|
-
-
|
|
661
|
-
-
|
|
662
|
-
-
|
|
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)
|