hanami-utils 2.0.0.alpha2 → 2.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +163 -4
- data/README.md +16 -22
- data/hanami-utils.gemspec +3 -3
- data/lib/hanami/logger.rb +2 -0
- data/lib/hanami/utils/blank.rb +1 -1
- data/lib/hanami/utils/class.rb +1 -1
- data/lib/hanami/utils/class_attribute.rb +7 -7
- data/lib/hanami/utils/kernel.rb +3 -3
- data/lib/hanami/utils/string.rb +1 -1
- data/lib/hanami/utils/version.rb +1 -1
- metadata +10 -11
- data/lib/hanami/interactor.rb +0 -651
- data/lib/hanami/utils/basic_object.rb +0 -144
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1c3da2c837516bf458d208681a9183b4ce2255d4015d1ef436344b951f72127
|
4
|
+
data.tar.gz: 1dd912dfe51da2149599514b70c1d1893651d09e2a2c6f65ffdce4b5142c7132
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d1fb0f77574208374688089528fc4e9479f17fe514d795c0407fd6cb65c3c14cd64aa5956bf90f9e29692042c784845ea3f27c0c6c0fc5fbcf52fb439f6ba557
|
7
|
+
data.tar.gz: 5e5dd4627115e3d92f8fa5c19a323e645b5bc245e72a6156c40b449af68eed08b42148639f25a5cee98e5d2739504d9cb0bfb6dd7781f54e1ae554b77955bbd9
|
data/CHANGELOG.md
CHANGED
@@ -1,17 +1,48 @@
|
|
1
1
|
# Hanami::Utils
|
2
|
-
|
2
|
+
|
3
|
+
Ruby core extensions and class utilities for Hanami
|
4
|
+
|
5
|
+
## v2.0.0.beta1 - 2022-07-20
|
6
|
+
|
7
|
+
### Changed
|
8
|
+
|
9
|
+
- [Luca Guidi] Removed `Hanami::Utils::BasicObject` (moved to `dry-core` as `Dry::Core::BasicObject`)
|
10
|
+
- [Luca Guidi] Removed `Hanami::Interactor`
|
11
|
+
|
12
|
+
## v2.0.0.alpha6 - 2022-02-10
|
13
|
+
|
14
|
+
### Added
|
15
|
+
|
16
|
+
- [Luca Guidi] Official support for Ruby: MRI 3.0 and 3.1
|
17
|
+
|
18
|
+
### Fixed
|
19
|
+
|
20
|
+
- [Rob Jacoby] Allow `Hanami::Logger#initialize` to accept `File::NULL` as `stream:` argument
|
21
|
+
|
22
|
+
### Changed
|
23
|
+
|
24
|
+
- [Luca Guidi] Drop support for Ruby: MRI 2.6 and 2.7.
|
25
|
+
|
26
|
+
## v2.0.0.alpha3 - 2021-11-09
|
27
|
+
|
28
|
+
No changes.
|
3
29
|
|
4
30
|
## v2.0.0.alpha2 - 2021-05-04
|
31
|
+
|
5
32
|
### Changed
|
33
|
+
|
6
34
|
- [Luca Guidi] Drop support for Ruby: MRI 2.5.
|
7
35
|
- [Luca Guidi] Transform `Utils::String` from class to module
|
8
36
|
|
9
37
|
## v2.0.0.alpha1 - 2019-01-30
|
38
|
+
|
10
39
|
### Added
|
40
|
+
|
11
41
|
- [Gustavo Caso] Introduce `Hanami::Middleware` namespace
|
12
42
|
- [Luca Guidi] Introduce `Callbacks::Chain#dup`
|
13
43
|
|
14
44
|
### Changed
|
45
|
+
|
15
46
|
- [Luca Guidi] Drop support for Ruby: MRI 2.3, and 2.4.
|
16
47
|
- [Luca Guidi] Remove `Utils::Duplicable`
|
17
48
|
- [Luca Guidi] Remove `Utils::Inflector`
|
@@ -24,62 +55,85 @@ Ruby core extentions and class utilities for Hanami
|
|
24
55
|
- [Vladimir Suvorov] Remove `Utils::Class.load_from_pattern!`
|
25
56
|
|
26
57
|
## v1.3.8 - 2021-05-03
|
58
|
+
|
27
59
|
### Fixed
|
60
|
+
|
28
61
|
- [Hiếu Nguyễn] Ensure `Hanami::Interactor#initialize` to accept keyword arguments while working with Ruby 3
|
29
62
|
|
30
63
|
## v1.3.7 - 2021-01-04
|
64
|
+
|
31
65
|
### Added
|
66
|
+
|
32
67
|
- [Luca Guidi] Official support for Ruby: MRI 3.0
|
33
68
|
- [Khai Le] Allow `Hanami::Logger` to filter sensitive data for an array of hashes
|
34
69
|
|
35
70
|
### Fixed
|
71
|
+
|
36
72
|
- [Hiếu Nguyễn] Ensure `Hanami::Logger` to not mutate `Hash` input when filtering sensitive data
|
37
73
|
|
38
74
|
## v1.3.6 - 2020-01-07
|
75
|
+
|
39
76
|
### Added
|
77
|
+
|
40
78
|
- [Luca Guidi] Official support for Ruby: MRI 2.7
|
41
79
|
|
42
80
|
### Fixed
|
81
|
+
|
43
82
|
- [ippachi] `Utils::Files.append`: don't check breakline if file is empty
|
44
83
|
|
45
84
|
## v1.3.5 - 2019-10-25
|
85
|
+
|
46
86
|
### Fixed
|
87
|
+
|
47
88
|
- [Ivan Kabluchkov] Ensure `Hanami::Logger` filters to not crash when logger stream is a closed tempfile
|
48
89
|
- [Luca Guidi] Ensure `Utils::Files.append` to append contents properly when existing file doesn't end with a newline
|
49
90
|
|
50
91
|
## v1.3.4 - 2019-09-27
|
92
|
+
|
51
93
|
### Added
|
94
|
+
|
52
95
|
- [Luca Guidi] Let `Utils::BasicObject` to lookup constants at the top-level namespace
|
53
96
|
|
54
97
|
## v1.3.3 - 2019-09-13
|
98
|
+
|
55
99
|
### Fixed
|
100
|
+
|
56
101
|
- [Mauro Morales] Ensure `Utils::Inflector.pluralize` and `.singularize` to work with words that contain an underscore (`_`)
|
57
102
|
|
58
103
|
## v1.3.2 - 2019-06-21
|
104
|
+
|
59
105
|
### Added
|
106
|
+
|
60
107
|
- [Vladislav Yashin & Luca Guidi] Added `Utils::BasicObject#instance_of?`, `#is_a?`, and `#kind_of`
|
61
108
|
|
62
109
|
## v1.3.1 - 2019-01-18
|
110
|
+
|
63
111
|
### Added
|
112
|
+
|
64
113
|
- [Luca Guidi] Official support for Ruby: MRI 2.6
|
65
114
|
- [Luca Guidi] Support `bundler` 2.0+
|
66
115
|
|
67
116
|
### Fixed
|
117
|
+
|
68
118
|
- [Alfonso Uceda] Fix `Hash` serialization for `Utils::Logger`
|
69
119
|
- [Jeff Dickey] Add missing `pathname` require in `lib/hanami/utils.rb`
|
70
120
|
|
71
121
|
## v1.3.0 - 2018-10-24
|
72
122
|
|
73
123
|
## v1.3.0.beta1 - 2018-08-08
|
124
|
+
|
74
125
|
### Added
|
126
|
+
|
75
127
|
- [Luca Guidi] Official support for JRuby 9.2.0.0
|
76
128
|
- [graywolf] Add `Utils::Files.inject_line_before_last` and `.inject_line_after_last`
|
77
129
|
|
78
130
|
### Fixed
|
131
|
+
|
79
132
|
- [graywolf] Don't show `Fixnum` Ruby warning for 2.4+
|
80
133
|
- [Luca Guidi] Fix pluralization of `"fee"`
|
81
134
|
|
82
135
|
### Deprecated
|
136
|
+
|
83
137
|
- [Luca Guidi & Marion Schleifer] Deprecate `Utils::String` as Ruby type. Please use `Utils::String` class methods instead of `Utils::String.new("")`.
|
84
138
|
- [Luca Guidi & Marion Schleifer] Deprecate `Utils::Hash` as Ruby type. Please use `Utils::Hash` class methods instead of `Utils::Hash.new({})`.
|
85
139
|
- [Luca Guidi & Marion Schleifer] Deprecate `Utils::String.pluralize` and `.singularize`.
|
@@ -88,14 +142,19 @@ Ruby core extentions and class utilities for Hanami
|
|
88
142
|
## v1.2.0 - 2018-04-11
|
89
143
|
|
90
144
|
## v1.2.0.rc2 - 2018-04-06
|
145
|
+
|
91
146
|
### Added
|
147
|
+
|
92
148
|
- [Luca Guidi] Use different colors for each `Hanami::Logger` level
|
93
149
|
|
94
150
|
## v1.2.0.rc1 - 2018-03-30
|
151
|
+
|
95
152
|
### Added
|
153
|
+
|
96
154
|
- [Oana Sipos & Sean Collins & Luca Guidi] Colored logging
|
97
155
|
|
98
156
|
### Fixed
|
157
|
+
|
99
158
|
- [Luca Guidi] Make `Hanami::Logger` to properly log hash messages
|
100
159
|
|
101
160
|
## v1.2.0.beta2 - 2018-03-23
|
@@ -103,25 +162,34 @@ Ruby core extentions and class utilities for Hanami
|
|
103
162
|
## v1.2.0.beta1 - 2018-02-28
|
104
163
|
|
105
164
|
## v1.1.2 - 2018-02-02
|
165
|
+
|
106
166
|
### Added
|
167
|
+
|
107
168
|
- [Luca Guidi] Official support for Ruby: MRI 2.5
|
108
169
|
|
109
170
|
### Fixed
|
171
|
+
|
110
172
|
- [Sean Collins & Luca Guidi] Make `Utils::Files.write` idempotent: ensure to truncate the file before to write
|
111
173
|
- [Sean Collins & Luca Guidi] Don't erase file contents when invoking `Utils::Files.touch`
|
112
174
|
|
113
175
|
### Changed
|
176
|
+
|
114
177
|
- [Sean Collins & Luca Guidi] Deprecate `Utils::Files.rewrite` in favor of `.write`
|
115
178
|
|
116
179
|
## v1.1.1 - 2017-11-22
|
180
|
+
|
117
181
|
### Added
|
182
|
+
|
118
183
|
- [Luca Guidi] Introduce `Utils::Hash.deep_stringify` to recursively stringify a hash
|
119
184
|
|
120
185
|
### Fixed
|
186
|
+
|
121
187
|
- [Yuta Tokitake] Ensure `Interactor#call` to accept non-keyword arguments
|
122
188
|
|
123
189
|
## v1.1.0 - 2017-10-25
|
190
|
+
|
124
191
|
### Added
|
192
|
+
|
125
193
|
- [Luca Guidi] Introduce `Utils::Hash.deep_serialize` to recursively serialize input into `::Hash`
|
126
194
|
|
127
195
|
## v1.1.0.rc1 - 2017-10-16
|
@@ -129,11 +197,15 @@ Ruby core extentions and class utilities for Hanami
|
|
129
197
|
## v1.1.0.beta3 - 2017-10-04
|
130
198
|
|
131
199
|
## v1.1.0.beta2 - 2017-10-03
|
200
|
+
|
132
201
|
### Added
|
202
|
+
|
133
203
|
- [Alfonso Uceda] Auto create directory for `Hanami::Logger`
|
134
204
|
|
135
205
|
## v1.1.0.beta1 - 2017-08-11
|
206
|
+
|
136
207
|
### Added
|
208
|
+
|
137
209
|
- [Marion Duprey] Allow `Hanami::Interactor#call` to accept arguments. `#initialize` should be used for Dependency Injection, while `#call` should be used for input
|
138
210
|
- [Marion Schleifer] Introduce `Utils::Hash.stringify`
|
139
211
|
- [Marion Schleifer] Introduce `Utils::String.titleize`, `.capitalize`, `.classify`, `.underscore`, `.dasherize`, `.demodulize`, `.namespace`, `.pluralize`, `.singularize`, and `.rsub`
|
@@ -142,101 +214,136 @@ Ruby core extentions and class utilities for Hanami
|
|
142
214
|
- [Marion Duprey & Gabriel Gizotti] Filter sensitive informations for `Hanami::Logger`
|
143
215
|
|
144
216
|
## v1.0.4 - 2017-10-02
|
217
|
+
|
145
218
|
### Fixed
|
219
|
+
|
146
220
|
- [Luca Guidi] Make `Hanami::Utils::BasicObject` to be fully compatible with Ruby's `pp` and to be inspected by Pry.
|
147
221
|
- [Thiago Kenji Okada] Fix pluralization/singularization for `"release" => "releases"`
|
148
222
|
|
149
223
|
## v1.0.3 - 2017-09-06
|
224
|
+
|
150
225
|
### Fixed
|
226
|
+
|
151
227
|
- [Malina Sulca] Fix pluralization/singularization for `"exercise" => "exercises"`
|
152
228
|
- [Xavier Barbosa] Fix pluralization/singularization for `"area" => "areas"`
|
153
229
|
|
154
230
|
## v1.0.2 - 2017-07-10
|
231
|
+
|
155
232
|
### Fixed
|
233
|
+
|
156
234
|
- [Anton Davydov] Fix pluralization/singularization for `"phrase" => "phrases"`
|
157
235
|
|
158
236
|
## v1.0.1 - 2017-06-23
|
237
|
+
|
159
238
|
### Added
|
239
|
+
|
160
240
|
- [Luca Guidi] Introduced `Utils::Hash.symbolize` and `.deep_symbolize`
|
161
241
|
- [Luca Guidi] Introduced `Utils::Hash.deep_dup`
|
162
242
|
|
163
243
|
### Fixed
|
244
|
+
|
164
245
|
- [choallin] Ensure `Utils::String#classify` to return output identical to the input for already classified strings.
|
165
246
|
- [Marion Duprey & Jonas Amundsen] Ensure `Utils::Hash#initialize` to accept frozen `Hash` as argument.
|
166
247
|
|
167
248
|
## v1.0.0 - 2017-04-06
|
168
249
|
|
169
250
|
## v1.0.0.rc1 - 2017-03-31
|
251
|
+
|
170
252
|
### Added
|
253
|
+
|
171
254
|
- [Luca Guidi] Allow `Hanami::Logger#initialize` to accept arguments to be compliant with Ruby's `Logger`
|
172
255
|
|
173
256
|
## v1.0.0.beta3 - 2017-03-17
|
257
|
+
|
174
258
|
### Fixed
|
259
|
+
|
175
260
|
- [Luca Guidi] Use `$stdout` instead of `STDOUT` as default stream for `Hanami::Logger`
|
176
261
|
|
177
262
|
### Changed
|
263
|
+
|
178
264
|
- [Luca Guidi] Removed `Utils::Attributes`
|
179
265
|
- [Luca Guidi] Removed deprecated `Hanami::Interactor::Result#failing?`
|
180
266
|
- [Luca Guidi] Removed deprecated `Utils::Json.load` and `.dump`
|
181
267
|
|
182
268
|
## v1.0.0.beta2 - 2017-03-02
|
269
|
+
|
183
270
|
### Changed
|
271
|
+
|
184
272
|
- [Anton Davydov] Made `Utils::Blank` private API
|
185
273
|
|
186
274
|
## v1.0.0.beta1 - 2017-02-14
|
275
|
+
|
187
276
|
### Added
|
277
|
+
|
188
278
|
- [Luca Guidi] Official support for Ruby: MRI 2.4
|
189
279
|
- [alexd16] Introduced `Utils::Hash#deep_symbolize!` for deep symbolization
|
190
280
|
- [Luca Guidi] Introduced `Hanami::Utils.reload!` as a mechanism to force code reloading in development
|
191
281
|
|
192
282
|
### Fixed
|
283
|
+
|
193
284
|
- [alexd16 & Alfonso Uceda & Luca Guidi] Don't deeply symbolize `Hanami::Interactor::Result` payload
|
194
285
|
- [Alfonso Uceda] `Hanami::Interactor::Result`: Don't transform objects that respond to `#to_hash` (like entities)
|
195
286
|
- [Bhanu Prakash] Use `Utils::Json.generate` instead of the deprecated `.dump` for `Hanami::Logger` JSON formatter
|
196
287
|
- [Luca Guidi] `Hanami::Logger`: when a `Hash` message is passed, don't nest it under `:message` key, but unwrap at the top level
|
197
288
|
|
198
289
|
### Changed
|
290
|
+
|
199
291
|
- [alexd16] `Utils::Hash#symbolize!` no longer symbolizes deep structures
|
200
292
|
- [Luca Guidi & Alfonso Uceda] Improve readability for default logger formatter
|
201
293
|
- [Luca Guidi] Use ISO-8601 time format for JSON logger formatter
|
202
294
|
|
203
295
|
## v0.9.2 - 2016-12-19
|
296
|
+
|
204
297
|
### Added
|
298
|
+
|
205
299
|
- [Grachev Mikhail] Introduced `Hanami::Interactor::Result#failure?`
|
206
300
|
|
207
301
|
### Fixed
|
208
|
-
|
302
|
+
|
303
|
+
- [Paweł Świątkowski] `Utils::Inflector.pluralize` Pluralize -en to -ens instead of -ina
|
209
304
|
|
210
305
|
### Changed
|
306
|
+
|
211
307
|
- [Grachev Mikhail] Deprecate `Hanami::Interactor::Result#failing?` in favor of `#failure?`
|
212
308
|
|
213
309
|
## v0.9.1 - 2016-11-18
|
310
|
+
|
214
311
|
### Added
|
312
|
+
|
215
313
|
- [Luca Guidi] Introduced `Utils::Json.parse` and `.generate`
|
216
314
|
|
217
315
|
### Fixed
|
316
|
+
|
218
317
|
- [Luca Guidi] Ensure `Utils::Json` parsing to not eval untrusted input
|
219
318
|
|
220
319
|
### Changed
|
320
|
+
|
221
321
|
- [Luca Guidi] Deprecated `Utils::Json.load` in favor of `.parse`
|
222
322
|
- [Luca Guidi] Deprecated `Utils::Json.dump` in favor of `.generate`
|
223
323
|
|
224
324
|
## v0.9.0 - 2016-11-15
|
325
|
+
|
225
326
|
### Added
|
327
|
+
|
226
328
|
– [Luca Guidi] Introduced `Utils.require!` to recursively require Ruby files with an order that is consistent across platforms
|
227
329
|
– [Luca Guidi] Introduced `Utils::FileList` as cross-platform ordered list of files, alternative to `Dir.glob`
|
228
|
-
|
330
|
+
|
331
|
+
- [Luca Guidi] Make `Utils::BasicObject` pretty printable
|
229
332
|
- [Grachev Mikhail] Added `Interactor::Result#successful?` and `#failing?`
|
230
333
|
|
231
334
|
### Fixed
|
335
|
+
|
232
336
|
- [Pascal Betz] Ensure `Utils::Class.load!` to lookup constant only within the given namespace
|
233
337
|
|
234
338
|
### Changed
|
339
|
+
|
235
340
|
- [Luca Guidi] Make `Utils::Hash` only compatible with objects that respond to `#to_hash`
|
236
341
|
- [Luca Guidi] Official support for Ruby: MRI 2.3+ and JRuby 9.1.5.0+
|
237
342
|
|
238
343
|
## v0.8.0 - 2016-07-22
|
344
|
+
|
239
345
|
### Added
|
346
|
+
|
240
347
|
- [Andrey Morskov] Introduced `Hanami::Utils::Blank`
|
241
348
|
- [Anton Davydov] Allow to specify a default log level for `Hanami::Logger`
|
242
349
|
- [Anton Davydov] Introduced default and JSON formatters for `Hanami::Logger`
|
@@ -250,101 +357,139 @@ Ruby core extentions and class utilities for Hanami
|
|
250
357
|
- [Rogério Ramos] Fix English pluralization for words ending with `"ice"`
|
251
358
|
|
252
359
|
### Changed
|
360
|
+
|
253
361
|
- [Luca Guidi] Drop support for Ruby 2.0, 2.1 and Rubinius. Official support for JRuby 9.0.5.0+.
|
254
362
|
|
255
363
|
## v0.7.1 - 2016-02-05
|
364
|
+
|
256
365
|
### Fixed
|
366
|
+
|
257
367
|
- [Yuuji Yaginuma] `Hanami::Utils::Escape`: fixed Ruby warning for `String#chars` with a block, which is deprecated. Using `String#each_char` now.
|
258
368
|
- [Sean Collins] Allow non string objects to be escaped by `Hanami::Utils::Escape`.
|
259
369
|
|
260
370
|
## v0.7.0 - 2016-01-22
|
371
|
+
|
261
372
|
### Changed
|
373
|
+
|
262
374
|
- [Luca Guidi] Renamed the project
|
263
375
|
|
264
376
|
## v0.6.1 - 2016-01-19
|
377
|
+
|
265
378
|
### Fixed
|
379
|
+
|
266
380
|
- [Anton Davydov] Ensure `Lotus::Utils::String#classify` to work properly with dashes (eg. `"app-store" => "App::Store"`)
|
267
381
|
|
268
382
|
## v0.6.0 - 2016-01-12
|
383
|
+
|
269
384
|
### Added
|
385
|
+
|
270
386
|
- [Luca Guidi] Official support for Ruby 2.3
|
271
387
|
- [Luca Guidi] Custom inflections
|
272
388
|
- [Luca Guidi] Introduced `Lotus::Utils::Duplicable` as a safe dup logic for Ruby types
|
273
389
|
- [Luca Guidi] Added `Lotus::Utils::String#rsub` replace rightmost occurrence
|
274
390
|
|
275
391
|
### Fixed
|
392
|
+
|
276
393
|
- [Luca Guidi] Fix `Lotus::Utils::PathPrefix#join` and `#relative_join` by rejecting arguments that are equal to the separator
|
277
394
|
- [Karim Kiatlottiavi] Fix `Encoding::UndefinedConversionError` in `Lotus::Utils::Escape.encode`
|
278
395
|
|
279
396
|
### Changed
|
397
|
+
|
280
398
|
- [Luca Guidi] Deprecate Ruby 2.0 and 2.1
|
281
399
|
- [Luca Guidi] Removed `Lotus::Utils::Callbacks#add` in favor of `#append`
|
282
400
|
- [Luca Guidi] Removed pattern support for `Utils::Class.load!` (eg. `Articles(Controller|::Controller)`)
|
283
401
|
|
284
402
|
## v0.5.2 - 2015-09-30
|
403
|
+
|
285
404
|
### Added
|
405
|
+
|
286
406
|
- [Luca Guidi] Added `Lotus::Utils::String#capitalize`
|
287
407
|
- [Trung Lê] Official support for JRuby 9k+
|
288
408
|
|
289
409
|
## v0.5.1 - 2015-07-10
|
410
|
+
|
290
411
|
### Fixed
|
412
|
+
|
291
413
|
- [Thiago Felippe] Ensure `Lotus::Utils::PathPrefix#join` won't remote duplicate entries (eg `/admin/dashboard/admin`)
|
292
414
|
|
293
415
|
## v0.5.0 - 2015-06-23
|
416
|
+
|
294
417
|
### Added
|
418
|
+
|
295
419
|
- [Luca Guidi] Extracted `Lotus::Logger` from `hanamirb`
|
296
420
|
|
297
421
|
### Changed
|
422
|
+
|
298
423
|
- [Luca Guidi] `Lotus::Interactor::Result` contains only objects explicitly exposed via `Lotus::Interactor.expose`.
|
299
424
|
|
300
425
|
## v0.4.3 - 2015-05-22
|
426
|
+
|
301
427
|
### Added
|
428
|
+
|
302
429
|
- [François Beausoleil] Improved `Lotus::Utils::Kernel` messages for `TypeError`.
|
303
430
|
|
304
431
|
## v0.4.2 - 2015-05-15
|
432
|
+
|
305
433
|
### Fixed
|
434
|
+
|
306
435
|
- [Luca Guidi] Ensure `Lotus::Utils::Attributes#to_h` to return `::Hash`
|
307
436
|
|
308
437
|
## v0.4.1 - 2015-05-15
|
438
|
+
|
309
439
|
### Added
|
440
|
+
|
310
441
|
- [Luca Guidi & Alfonso Uceda Pompa] Introduced `Lotus::Utils::Inflector`, `Lotus::Utils::String#pluralize` and `#singularize`
|
311
442
|
|
312
443
|
### Fixed
|
444
|
+
|
313
445
|
- [Luca Guidi] Ensure `Lotus::Utils::Attributes#to_h` to safely return nested `::Hash` instances for complex data structures.
|
314
446
|
- [Luca Guidi] Let `Lotus::Interactor#error` to return a falsey value for control flow. (eg. `check_permissions or error "You can't access"`)
|
315
447
|
|
316
448
|
## v0.4.0 - 2015-03-23
|
449
|
+
|
317
450
|
### Added
|
451
|
+
|
318
452
|
- [Luca Guidi] Introduced `Lotus::Utils::Escape`. It implements OWASP/ESAPI suggestions for HTML, HTML attribute and URL escape utilities.
|
319
453
|
- [Luca Guidi] Introduced `Lotus::Utils::String#dasherize`
|
320
454
|
- [Luca Guidi] Introduced `Lotus::Utils::String#titleize`
|
321
455
|
|
322
456
|
## v0.3.5 - 2015-03-12
|
457
|
+
|
323
458
|
### Added
|
459
|
+
|
324
460
|
- [Luca Guidi] Introduced `Lotus::Interactor`
|
325
461
|
- [Luca Guidi] Introduced `Lotus::Utils::BasicObject`
|
326
462
|
|
327
463
|
## v0.3.4 - 2015-01-30
|
464
|
+
|
328
465
|
### Added
|
466
|
+
|
329
467
|
- [Alfonso Uceda Pompa] Aliased `Lotus::Utils::Attributes#get` with `#[]`
|
330
468
|
- [Simone Carletti] Introduced `Lotus::Utils::Callbacks::Chain#prepend` and `#append`
|
331
469
|
|
332
470
|
### Deprecated
|
471
|
+
|
333
472
|
- [Luca Guidi] Deprecated `Lotus::Utils::Callbacks::Chain#add` in favor of `#append`
|
334
473
|
|
335
474
|
## v0.3.3 - 2015-01-08
|
475
|
+
|
336
476
|
### Fixed
|
477
|
+
|
337
478
|
- [Luca Guidi] 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`)
|
338
479
|
- [Luca Guidi] Raise an error if try to coerce non numeric strings into Integer, Float & BigDecimal (eg. `Utils::Kernel.Integer("hello") # => raise TypeError`)
|
339
480
|
|
340
481
|
## v0.3.2 - 2014-12-23
|
482
|
+
|
341
483
|
### Added
|
484
|
+
|
342
485
|
- [Luca Guidi] Official support for Ruby 2.2
|
343
486
|
- [Luca Guidi] Introduced `Utils::Attributes`
|
344
487
|
- [Luca Guidi] Added `Utils::Hash#stringify!`
|
345
488
|
|
346
489
|
## v0.3.1 - 2014-11-23
|
490
|
+
|
347
491
|
### Added
|
492
|
+
|
348
493
|
- [Luca Guidi] Allow `Utils::Class.load!` to accept any object that implements `#to_s`
|
349
494
|
- [Trung Lê] Allow `Utils::Class.load!` to accept a class
|
350
495
|
- [Luca Guidi] Introduced `Utils::Class.load_from_pattern!`
|
@@ -358,14 +503,18 @@ Ruby core extentions and class utilities for Hanami
|
|
358
503
|
- [Luca Guidi] Made `Utils::PathPrefix#join` to accept multiple argument
|
359
504
|
|
360
505
|
### Fixed
|
506
|
+
|
361
507
|
- [Luca Guidi] Made `Utils::PathPrefix#join` remove trailing occurrences for `@separator` from the output
|
362
508
|
- [Luca Guidi] Made `Utils::PathPrefix#relative_join` to correctly replace all the instances of `@separator` from the output
|
363
509
|
|
364
510
|
### Deprecated
|
511
|
+
|
365
512
|
- [Luca Guidi] Deprecated `Utils::Class.load!` with a pattern like `Articles(Controller|::Controller)`, use `Utils::Class.load_from_pattern!` instead
|
366
513
|
|
367
514
|
## v0.3.0 - 2014-10-23
|
515
|
+
|
368
516
|
### Added
|
517
|
+
|
369
518
|
- [Celso Fernandes] Add BigDecimal coercion to Lotus::Utils::Kernel
|
370
519
|
- [Luca Guidi] Define `Boolean` constant, if missing
|
371
520
|
- [Luca Guidi] Use composition over inheritance for `Lotus::Utils::PathPrefix`
|
@@ -373,6 +522,7 @@ Ruby core extentions and class utilities for Hanami
|
|
373
522
|
- [Luca Guidi] Use composition over inheritance for `Lotus::Utils::String`
|
374
523
|
|
375
524
|
### Fixed
|
525
|
+
|
376
526
|
- [Luca Guidi] Improved error message for `Utils::Class.load!`
|
377
527
|
- [Tom Kadwill] Improved error `NameError` message by passing in the whole constant name to `Utils::Class.load!`
|
378
528
|
- [Luca Guidi] `Utils::Hash#to_h` return instances of `::Hash` in case of nested symbolized data structure
|
@@ -382,7 +532,9 @@ Ruby core extentions and class utilities for Hanami
|
|
382
532
|
- [Luca Guidi] Ensure `Utils::Hash#inspect` output to be the same of `::Hash#inspect`
|
383
533
|
|
384
534
|
## v0.2.0 - 2014-06-23
|
535
|
+
|
385
536
|
### Added
|
537
|
+
|
386
538
|
- [Luca Guidi] Implemented `Lotus::Utils::Kernel.Symbol`
|
387
539
|
- [Luca Guidi] Made `Kernel.Pathname` to raise an error when `nil` is passed as argument
|
388
540
|
- [Luca Guidi] Implemented `Lotus::Utils::LoadPaths#freeze` in order to prevent modification after the object has been frozen
|
@@ -393,9 +545,11 @@ Ruby core extentions and class utilities for Hanami
|
|
393
545
|
- [Luca Guidi] Implemented `Lotus::Utils::Kernel.Pathname`
|
394
546
|
|
395
547
|
### Fixed
|
548
|
+
|
396
549
|
- [Luca Guidi] Implemented `Lotus::Utils::LoadPaths#initialize_copy` in order to safely `#dup` and `#clone`
|
397
550
|
|
398
551
|
### Changed
|
552
|
+
|
399
553
|
- [Luca Guidi] Implemented `Lotus::Utils::Callbacks::Chain#freeze` in order to prevent modification after the object has been frozen
|
400
554
|
- [Luca Guidi] All the `Utils::Kernel` methods will raise `TypeError` in case of failed coercion.
|
401
555
|
- [Luca Guidi] Made `Kernel.Time` to raise an error when `nil` is passed as argument
|
@@ -411,7 +565,9 @@ Ruby core extentions and class utilities for Hanami
|
|
411
565
|
- [Luca Guidi] Use composition over inheritance for `Lotus::Utils::Callbacks::Chain`
|
412
566
|
|
413
567
|
## v0.1.1 - 2014-04-23
|
568
|
+
|
414
569
|
### Added
|
570
|
+
|
415
571
|
- [Luca Guidi] Implemented `Lotus::Utils::Kernel.Time`
|
416
572
|
- [Luca Guidi] Implemented `Lotus::Utils::Kernel.DateTime`
|
417
573
|
- [Luca Guidi] Implemented `Lotus::Utils::Kernel.Date`
|
@@ -424,12 +580,15 @@ Ruby core extentions and class utilities for Hanami
|
|
424
580
|
- [Luca Guidi] Implemented `Lotus::Utils::Kernel.Array`
|
425
581
|
|
426
582
|
### Fixed
|
583
|
+
|
427
584
|
- [Christopher Keele] Add missing stdlib `Set` require to `Utils::ClassAttribute`
|
428
585
|
|
429
586
|
## v0.1.0 - 2014-01-23
|
587
|
+
|
430
588
|
### Added
|
589
|
+
|
431
590
|
- [Luca Guidi] Introduced `Lotus::Utils::String#demodulize`
|
432
|
-
- [Luca Guidi] Introduced `Lotus::Utils::IO.silence_warnings`
|
591
|
+
- [Luca Guidi] Introduced `Lotus::Utils::IO.silence_warnings`
|
433
592
|
- [Luca Guidi] Introduced class loading mechanism from a string: `Utils::Class.load!`
|
434
593
|
- [Luca Guidi] Introduced callbacks support for classes
|
435
594
|
- [Luca Guidi] Introduced inheritable class level attributes
|
data/README.md
CHANGED
@@ -5,23 +5,27 @@ Ruby core extensions and class utilities for [Hanami](http://hanamirb.org)
|
|
5
5
|
## Status
|
6
6
|
|
7
7
|
[![Gem Version](https://badge.fury.io/rb/hanami-utils.svg)](https://badge.fury.io/rb/hanami-utils)
|
8
|
-
[![CI](https://github.com/hanami/utils/workflows/ci/badge.svg?branch=
|
9
|
-
[![Test Coverage](https://codecov.io/gh/hanami/utils/branch/
|
8
|
+
[![CI](https://github.com/hanami/utils/workflows/ci/badge.svg?branch=main)](https://github.com/hanami/utils/actions?query=workflow%3Aci+branch%3Amain)
|
9
|
+
[![Test Coverage](https://codecov.io/gh/hanami/utils/branch/main/graph/badge.svg)](https://codecov.io/gh/hanami/utils)
|
10
10
|
[![Depfu](https://badges.depfu.com/badges/a8545fb67cf32a2c75b6227bc0821027/overview.svg)](https://depfu.com/github/hanami/utils?project=Bundler)
|
11
11
|
[![Inline Docs](http://inch-ci.org/github/hanami/utils.svg)](http://inch-ci.org/github/hanami/utils)
|
12
12
|
|
13
|
+
## Version
|
14
|
+
|
15
|
+
**This branch contains the code for `hanami-utils` 2.x.**
|
16
|
+
|
13
17
|
## Contact
|
14
18
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
19
|
+
- Home page: http://hanamirb.org
|
20
|
+
- Mailing List: http://hanamirb.org/mailing-list
|
21
|
+
- API Doc: http://rdoc.info/gems/hanami-utils
|
22
|
+
- Bugs/Issues: https://github.com/hanami/utils/issues
|
23
|
+
- Support: http://stackoverflow.com/questions/tagged/hanami
|
24
|
+
- Chat: http://chat.hanamirb.org
|
21
25
|
|
22
26
|
## Rubies
|
23
27
|
|
24
|
-
|
28
|
+
**Hanami::Utils** supports Ruby (MRI) 3.0+
|
25
29
|
|
26
30
|
## Installation
|
27
31
|
|
@@ -41,23 +45,15 @@ Or install it yourself as:
|
|
41
45
|
|
42
46
|
## Usage
|
43
47
|
|
44
|
-
|
48
|
+
**Hanami::Utils** is designed to enhance Ruby's code and stdlib.
|
45
49
|
**By default this gem doesn't load any code, you must require what you need.**
|
46
50
|
|
47
51
|
## Features
|
48
52
|
|
49
|
-
### Hanami::Interactor
|
50
|
-
|
51
|
-
Standardized Service Object with small interface and rich returning result. [[API doc](http://www.rubydoc.info/gems/hanami-utils/Hanami/Interactor)]
|
52
|
-
|
53
53
|
### Hanami::Logger
|
54
54
|
|
55
55
|
Enhanced version of Ruby's `Logger`. [[API doc](http://www.rubydoc.info/gems/hanami-utils/Hanami/Logger)]
|
56
56
|
|
57
|
-
### Hanami::Utils::BasicObject
|
58
|
-
|
59
|
-
Enhanced version of Ruby's `BasicObject`. [[API doc](http://www.rubydoc.info/gems/hanami-utils/Hanami/Utils/BasicObject)]
|
60
|
-
|
61
57
|
### Hanami::Utils::Blank
|
62
58
|
|
63
59
|
Checks for blank. [[API doc](http://www.rubydoc.info/gems/hanami-utils/Hanami/Utils/Blank)]
|
@@ -128,7 +124,7 @@ Enhanced version of Ruby's `String`. [[API doc](http://www.rubydoc.info/gems/han
|
|
128
124
|
|
129
125
|
## Versioning
|
130
126
|
|
131
|
-
|
127
|
+
**Hanami::Utils** uses [Semantic Versioning 2.0.0](http://semver.org)
|
132
128
|
|
133
129
|
## Contributing
|
134
130
|
|
@@ -140,6 +136,4 @@ __Hanami::Utils__ uses [Semantic Versioning 2.0.0](http://semver.org)
|
|
140
136
|
|
141
137
|
## Copyright
|
142
138
|
|
143
|
-
Copyright © 2014-
|
144
|
-
|
145
|
-
This project was formerly known as Lotus (`lotus-utils`).
|
139
|
+
Copyright © 2014-2022 Hanami Team – Released under MIT License
|
data/hanami-utils.gemspec
CHANGED
@@ -16,9 +16,9 @@ Gem::Specification.new do |spec|
|
|
16
16
|
|
17
17
|
spec.files = `git ls-files -- lib/* CHANGELOG.md LICENSE.md README.md hanami-utils.gemspec`.split($/)
|
18
18
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
19
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
19
|
spec.require_paths = ["lib"]
|
21
|
-
spec.
|
20
|
+
spec.metadata["rubygems_mfa_required"] = "true"
|
21
|
+
spec.required_ruby_version = ">= 3.0"
|
22
22
|
|
23
23
|
spec.add_dependency "dry-transformer", "~> 0.1"
|
24
24
|
spec.add_dependency "concurrent-ruby", "~> 1.0"
|
@@ -26,5 +26,5 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_development_dependency "bundler", ">= 1.6", "< 3"
|
27
27
|
spec.add_development_dependency "rake", "~> 13"
|
28
28
|
spec.add_development_dependency "rspec", "~> 3.9"
|
29
|
-
spec.add_development_dependency "rubocop", "0
|
29
|
+
spec.add_development_dependency "rubocop", "~> 1.0"
|
30
30
|
end
|
data/lib/hanami/logger.rb
CHANGED