everythingrb 0.6.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b9e75a4ff5bce17b493a5bc4daf5aa10a75f27595357ec95b70aa3932c1efc5
4
- data.tar.gz: 46da82100d5790428215588491af3ad0812fc522909b332de6c0dd51151c9673
3
+ metadata.gz: 0b3c80f8891826722af0d521a4dad5ba31e90540ad46cc31e25d6fc0ed34cd52
4
+ data.tar.gz: 8e7f1daa4a9db4e31b2c4c3f58d3573ed36d833ab98e51d2daa997839f28eefd
5
5
  SHA512:
6
- metadata.gz: f1de280d38a6f4fe14c5b59dbe8f7273150e809644da8c5d249c6ae5633f8a8584a065c926b341f8a5d7f41c1696d6f6db69a90a9ea13fda892fd0a9456ca09f
7
- data.tar.gz: 1ad2e6dce38aab4fe6d96b5cb6447635ccdea4f65d43cf353f66d5f654c42818a063ac902532e19a9550a6e8374325bb3654f98b14d957bcbfbb1a2335382792
6
+ metadata.gz: 9bc88ea3c150c7e6cb6b55364d78f2eb863ec368c39b40f1f7d855dbaa43a3f3c7cde240971e649ca2b0eeded6c639179614d472446f37a5a89ae59cd026616d
7
+ data.tar.gz: 0327b5ae60b07e38ac81a292ca34639b6295beb23dab45410e0420350c3451e14745d1660e08520bcda2c92bc74a796bfdd12ecea1036414f01f1375218de1f1
data/CHANGELOG.md CHANGED
@@ -15,6 +15,68 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
15
15
  ### Removed
16
16
  -->
17
17
 
18
+ ## [Unreleased]
19
+
20
+ ### Added
21
+
22
+ ### Changed
23
+
24
+ ### Removed
25
+
26
+ ## [0.8.0] - 12025-05-11
27
+
28
+ ### Added
29
+
30
+ - Added conditional hash merging methods:
31
+ - `Hash#merge_if` and `Hash#merge_if!` - Merge key-value pairs based on a condition
32
+ - `Hash#merge_if_values` and `Hash#merge_if_values!` - Merge based on values only
33
+ - `Hash#merge_compact` and `Hash#merge_compact!` - Merge only non-nil values
34
+ - Added `String#to_camelcase` - Converts strings to camelCase/PascalCase while handling spaces, hyphens, underscores, and special characters
35
+ - Supports both lowercase first letter (`:lower`) and uppercase first letter (`:upper`), which is default
36
+
37
+ ### Changed
38
+
39
+ - Updated documentation
40
+
41
+ ### Removed
42
+
43
+ - Removed potentially dangerous `Array#deep_freeze` and `Hash#deep_freeze` methods to prevent accidental freezing of classes and singleton objects. This creates a safer API for the 1.0.0 milestone.
44
+
45
+ ## [0.7.0] - 12025-05-04
46
+
47
+ ### Added
48
+
49
+ - Created `Everythingrb::InspectQuotable` and `Everythingrb::StringQuotable` modules for consistent quote functionality
50
+ - Extended quotable functionality to many more Ruby core classes:
51
+ - `TrueClass` and `FalseClass` (boolean values)
52
+ - `NilClass`
53
+ - `Numeric`
54
+ - `Range`
55
+ - `Regexp`
56
+ - `Time`, `Date`, and `DateTime`
57
+ - `Data` and `Struct` classes
58
+ - Added new Hash methods for filtering based on values only:
59
+ - `Hash#select_values` - Returns a new hash with entries where the block returns true for the value
60
+ - `Hash#select_values!` - Same as `select_values` but modifies the hash in place
61
+ - `Hash#reject_values` - Returns a new hash with entries where the block returns false for the value
62
+ - `Hash#reject_values!` - Same as `reject_values` but modifies the hash in place
63
+ - Added `filter_values` and `filter_values!` as aliases for `select_values` and `select_values!` respectively
64
+ - Added `Kernel#morph` as an alias for `then` (and `yield_self`) that better communicates transformation intent:
65
+ ```ruby
66
+ # Instead of this:
67
+ value.then { |v| transform_somehow(v) }
68
+
69
+ # You can write this:
70
+ value.morph { |v| transform_somehow(v) }
71
+ ```
72
+
73
+ ### Changed
74
+
75
+ - Refactored existing quotable implementations to use the new modules
76
+ - Standardized method order to prefer `in_quotes` as the primary method with `with_quotes` as an alias
77
+
78
+ ### Removed
79
+
18
80
  ## [0.6.1] - 12025-04-26
19
81
 
20
82
  ### Changed
@@ -221,7 +283,9 @@ This change aligns our method signatures with Ruby's conventions and matches our
221
283
 
222
284
  - Added alias `each` to `each_pair` in OpenStruct for better enumerable compatibility
223
285
 
224
- [unreleased]: https://github.com/itsthedevman/everythingrb/compare/v0.6.1...HEAD
286
+ [unreleased]: https://github.com/itsthedevman/everythingrb/compare/v0.8.0...HEAD
287
+ [0.8.0]: https://github.com/itsthedevman/everythingrb/compare/v0.7.0...v0.8.0
288
+ [0.7.0]: https://github.com/itsthedevman/everythingrb/compare/v0.6.1...v0.7.0
225
289
  [0.6.1]: https://github.com/itsthedevman/everythingrb/compare/v0.6.0...v0.6.1
226
290
  [0.6.0]: https://github.com/itsthedevman/everythingrb/compare/v0.5.0...v0.6.0
227
291
  [0.5.0]: https://github.com/itsthedevman/everythingrb/compare/v0.4.0...v0.5.0