memo_wise 1.6.0 → 1.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: aee2439aaa86140659e102e2269e4d773e34a933e73ff604b449918948b9cd29
4
- data.tar.gz: bff512646d578b936d45267408be8681479c7316fa7ae16c683fc3b47261577a
3
+ metadata.gz: 07ea8ff9f5bbe537cceded02e2379f22145b2ca0023ee745cca77d503875884c
4
+ data.tar.gz: 43a1683798319eccc7fb0781519b84575c1096d938f7076b6dc5747370e5849e
5
5
  SHA512:
6
- metadata.gz: a820daf7cbc735f0bc586cc7e2b73c507f01592f8666ed3837b83584537466b4d06aee3202aa7c31b4545558f3e24a45ccc4063e315479fbbc4f3ece1606f7d8
7
- data.tar.gz: 6349b73c2cec18df74259b79dceef15f7f9303001deffb94146c00abcc5e9f0d6be9ab82c0aa0adab0dc528dd75de4e5c8450df389f64c88c24bea50dead15ce
6
+ metadata.gz: 0d40f55683a9dd45e81ffc16ac0c4678294cf0d0668c18e676717b9146709b538a7ed9c58b6b3d75f78e262e71f27267228ee2271e47994674d32967f7ff167f
7
+ data.tar.gz: 92ad0acb0712b0cb122c77a0a8901003b79d73253adc1db8d27fedb42ec07ba49d4706ccf4be8b44a79d18856be909235ec4b4673bf576db69d7dc4643e23770
@@ -0,0 +1,23 @@
1
+ # Dependency Review Action
2
+ #
3
+ # This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
4
+ #
5
+ # Source repository: https://github.com/actions/dependency-review-action
6
+ # Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
7
+ name: 'Dependency Review'
8
+ on: [pull_request]
9
+
10
+ permissions:
11
+ contents: read
12
+
13
+ jobs:
14
+ dependency-review:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - name: 'Checkout Repository'
18
+ uses: actions/checkout@v4
19
+ - name: 'Dependency Review'
20
+ uses: actions/dependency-review-action@v3
21
+ with:
22
+ # Possible values: "critical", "high", "moderate", "low"
23
+ fail-on-severity: high
@@ -12,17 +12,19 @@ jobs:
12
12
  strategy:
13
13
  fail-fast: false
14
14
  matrix:
15
- ruby: [jruby, 2.4, 2.5, 2.6, 2.7, 3.0, 3.1, truffleruby-head]
15
+ # Due to https://github.com/actions/runner/issues/849, we have to use
16
+ # quotes for '3.0' -- without quotes, CI sees '3' and runs the latest.
17
+ ruby: [2.4, 2.5, 2.6, 2.7, '3.0', 3.1, 3.2, jruby, truffleruby-head]
16
18
  runs-on: ubuntu-latest
17
19
  steps:
18
- - uses: actions/checkout@v2
20
+ - uses: actions/checkout@v4
19
21
 
20
22
  # Conditionally configure bundler via environment variables as advised
21
23
  # * https://github.com/ruby/setup-ruby#bundle-config
22
24
  - name: Set bundler environment variables
23
25
  run: |
24
26
  echo "BUNDLE_WITHOUT=checks:docs" >> $GITHUB_ENV
25
- if: matrix.ruby != 3.1
27
+ if: matrix.ruby != 3.2
26
28
 
27
29
  # Use 'bundler-cache: true' instead of actions/cache as advised:
28
30
  # * https://github.com/actions/cache/blob/main/examples.md#ruby---bundler
@@ -33,16 +35,23 @@ jobs:
33
35
 
34
36
  - run: bundle exec rspec
35
37
 
38
+ - uses: codecov/codecov-action@v3
39
+ with:
40
+ files: ./coverage/coverage.xml
41
+ fail_ci_if_error: true # optional (default = false)
42
+ verbose: true # optional (default = false)
43
+ if: matrix.ruby == 3.2
44
+
36
45
  - run: bundle exec rubocop
37
- if: matrix.ruby == 3.1
46
+ if: matrix.ruby == 3.2
38
47
 
39
48
  - run: |
40
49
  bundle exec yard doctest
41
50
  bundle exec dokaz
42
- if: matrix.ruby == 3.1
51
+ if: matrix.ruby == 3.2
43
52
 
44
- - name: Run benchmarks on Ruby 2.7 or 3.1
53
+ - name: Run benchmarks on Ruby 2.7 or 3.2
45
54
  run: |
46
55
  BUNDLE_GEMFILE=benchmarks/Gemfile bundle install --jobs 4 --retry 3
47
56
  BUNDLE_GEMFILE=benchmarks/Gemfile bundle exec ruby benchmarks/benchmarks.rb
48
- if: matrix.ruby == '2.7' || matrix.ruby == '3.1'
57
+ if: matrix.ruby == '2.7' || matrix.ruby == '3.2'
data/.gitignore CHANGED
@@ -11,3 +11,6 @@
11
11
 
12
12
  # rspec failure tracking
13
13
  .rspec_status
14
+
15
+ # Jetbrains Rubymine IDE files
16
+ .idea
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  inherit_gem:
2
- panolint: panolint-rubocop.yml
2
+ panolint-ruby: panolint-ruby-rubocop.yml
3
3
 
4
4
  Layout/LineLength:
5
5
  Max: 120
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.1.0
1
+ 3.2.1
data/CHANGELOG.md CHANGED
@@ -1,148 +1,250 @@
1
1
  # Changelog
2
2
 
3
- All notable changes to this project will be documented in this file.
3
+ All notable changes to this project will be documented in this file, which
4
+ follows a format inspired by [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
4
5
 
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## Unreleased
8
+ ## [Unreleased](https://github.com/panorama-ed/memo_wise/compare/v1.8.0...HEAD)
9
9
 
10
- Nothing yet!
10
+ **Gem enhancements:** none
11
11
 
12
- ## [1.6.0] - 2022-01-24
12
+ _No breaking changes!_
13
13
 
14
- ### Fixed
14
+ **Project enhancements:** none
15
15
 
16
- - Fixed a bug relating to inheritance of classes which include module which
17
- prepends MemoWise ([#265](https://github.com/panorama-ed/memo_wise/pull/265))
16
+ ## [v1.8.0](https://github.com/panorama-ed/memo_wise/compare/v1.7.0...v1.8.0) - 2023-10-25
18
17
 
19
- ### Updated
18
+ **Gem enhancements:**
20
19
 
21
- - Update official test coverage to support Ruby 3.1
20
+ - In Ruby3.2+, for singleton classes, use `#attached_object` instead of `ObjectSpace` [[#318]](https://github.com/panorama-ed/memo_wise/pull/318)
22
21
 
23
- ## [1.5.0] - 2021-12-17
22
+ _No breaking changes!_
24
23
 
25
- ### Fixed
24
+ **Project enhancements:**
26
25
 
27
- - Remove optimization for truthy results to fix thread safety race condition
28
- bugs
29
- - Switch to a simpler internal data structure to fix several classes of bugs
30
- related to inheritance that the previous few versions were unable to
31
- sufficiently address
26
+ - Switched RuboCop configuration from `panolint` to `panolint-ruby` [[#312]](https://github.com/panorama-ed/memo_wise/pull/312)
27
+ - Updated benchmark results in `README.md` to Ruby 3.2.2 and 2.7.8 [[#313]](https://github.com/panorama-ed/memo_wise/pull/297)
28
+ - Updated `Dry::Core` gem version to 1.0.0 in benchmarks [[#297]](https://github.com/panorama-ed/memo_wise/pull/297)
29
+ - Updated `Memery` gem version to 1.5.0 in benchmarks [[#313]](https://github.com/panorama-ed/memo_wise/pull/313)
30
+ - Updated `Memoized` gem version to 1.1.1 in benchmarks [[#288]](https://github.com/panorama-ed/memo_wise/pull/288)
31
+ - Reorganized `CHANGELOG.md` for improved clarity and completeness
32
+ [[#282](https://github.com/panorama-ed/memo_wise/pull/282)]
32
33
 
33
- ## [1.4.0] - 2021-12-10
34
+ ## [v1.7.0](https://github.com/panorama-ed/memo_wise/compare/v1.6.0...v1.7.0) - 2022-04-04
34
35
 
35
- ### Fixed
36
+ **Gem enhancements:**
36
37
 
37
- - Fix several bugs related to classes inheriting memoized methods
38
- from multiple modules or a parent class ([#241](https://github.com/panorama-ed/memo_wise/pull/241))
38
+ - Optimized memoized lookups for methods with multiple required arguments
39
+ [[#276](https://github.com/panorama-ed/memo_wise/pull/276)]
39
40
 
40
- ## [1.3.0] - 2021-11-22
41
+ _No breaking changes!_
41
42
 
42
- ### Fixed
43
+ **Project enhancements:**
43
44
 
44
- - Fix thread-safety issue in concurrent calls to zero-arg method in unmemoized
45
- state which resulted in a `nil` value being accidentally returned in one thread
46
- - Fix bugs related to child classes inheriting from parent classes that use
47
- `MemoWise`
48
-
49
- ## [1.2.0] - 2021-11-10
50
-
51
- ### Updated
52
- - Improved performance of all methods by using an outer Array instead of a Hash
53
- - Improved performance for multi-argument methods and simplify internal data
54
- structures
55
-
56
- ### Fixed
57
- - Removed use of #hash due to potential of hash collisions
58
- - Updated internal local variable names to avoid name collisions with method
59
- arguments
60
-
61
- ### Breaking Changes
62
- - None
63
-
64
- ## [1.1.0] - 2021-07-29
65
- ### Updated
66
- - Improved performance across the board by:
67
- - removing `Hash#fetch`
68
- - using `Array#hash`
69
- - avoiding multi-layer hash lookups for multi-argument methods
70
- - optimizing for truthy results
71
- - Add `dry-core` to benchmarks in README
72
-
73
- ### Fixed
74
- - Fixed usage on module singleton classes
75
- - Fixed usage on module which would be extended by other classes
76
-
77
- ### Breaking Changes
78
- - None
79
-
80
- ## [1.0.0] - 2021-06-24
81
- ### Added
82
- - Support for `.preset_memo_wise` on class methods
83
- - Support for `.reset_memo_wise` on class methods
84
-
85
- ### Updated
86
- - Improved performance for common cases by reducing array allocations
87
-
88
- ## [0.4.0] - 2021-04-30
89
- ### Added
90
- - Documentation of confusing module test behavior
91
- - Support using MemoWise in classes with keyword arguments in the initializer
92
- - Support Marshal dump/load of classes using MemoWise
93
-
94
- ## [0.3.0] - 2021-02-11
95
- ### Added
96
- - Changelog and tags
97
- - Logo
98
- - Memoization of class methods
99
- - Support for instances created with `Class#allocate`
100
- - Official testing and benchmarks for Ruby 3.0
101
- - Release procedure for gem
102
-
103
- ## [0.2.0] - 2020-10-28
104
- ### Added
105
- - `#preset_memo_wise` to preset memoization values
106
- - YARD docs
107
- - Code coverage setup, badge, tests to ensure 100% coverage
108
-
109
- ## [0.1.2] - 2020-10-01
110
- ### Added
111
- - Tests to assert memoization works with Values gem
112
- - Badges for tests, docs and gem
113
-
114
- ### Changed
115
- - Internal data structure for memoization is a nested hash
116
- - Separate `*args` and `**kwargs` in method signatures
117
-
118
- ## [0.1.1] - 2020-08-03
119
- ### Added
120
- - Benchmarks comparing `MemoWise` to other Ruby memoization gems
121
- - `#reset_memo_wise` resets memoization for specific arguments for methods
122
-
123
- ## [0.1.0] - 2020-07-20
124
- ### Added
125
- - `#memo_wise` defined to enable memoization
126
- - `#reset_memo_wise` and `#reset_all_memo_wise` defined to reset memoization
127
-
128
- ## [0.0.1] - 2020-06-29
129
- ### Added
130
- - Initial gem project structure
131
- - Panolint
132
- - Dependabot setup
133
-
134
- [Unreleased]: https://github.com/panorama-ed/memo_wise/compare/v1.6.0...HEAD
135
- [1.6.0]: https://github.com/panorama-ed/memo_wise/compare/v1.5.0...v1.6.0
136
- [1.5.0]: https://github.com/panorama-ed/memo_wise/compare/v1.4.0...v1.5.0
137
- [1.4.0]: https://github.com/panorama-ed/memo_wise/compare/v1.3.0...v1.4.0
138
- [1.3.0]: https://github.com/panorama-ed/memo_wise/compare/v1.2.0...v1.3.0
139
- [1.2.0]: https://github.com/panorama-ed/memo_wise/compare/v1.1.0...v1.2.0
140
- [1.1.0]: https://github.com/panorama-ed/memo_wise/compare/v1.0.0...v1.1.0
141
- [1.0.0]: https://github.com/panorama-ed/memo_wise/compare/v0.4.0...v1.0.0
142
- [0.4.0]: https://github.com/panorama-ed/memo_wise/compare/v0.3.0...v0.4.0
143
- [0.3.0]: https://github.com/panorama-ed/memo_wise/compare/v0.2.0...v0.3.0
144
- [0.2.0]: https://github.com/panorama-ed/memo_wise/compare/v0.1.2...v0.2.0
145
- [0.1.2]: https://github.com/panorama-ed/memo_wise/compare/v0.1.1...v0.1.2
146
- [0.1.1]: https://github.com/panorama-ed/memo_wise/compare/v0.1.0...v0.1.1
147
- [0.1.0]: https://github.com/panorama-ed/memo_wise/compare/v0.0.1...v0.1.0
148
- [0.0.1]: https://github.com/panorama-ed/memo_wise/releases/tag/v0.0.1
45
+ - Added benchmarking against GitHub `main` branch to CI [[#274](https://github.com/panorama-ed/memo_wise/pull/274)]
46
+
47
+ ## [v1.6.0](https://github.com/panorama-ed/memo_wise/compare/v1.5.0...v1.6.0) - 2022-01-24
48
+
49
+ **Gem enhancements:**
50
+
51
+ - Fixed a bug relating to inheritance of classes which include a module which
52
+ `prepend`s `MemoWise` [[#262](https://github.com/panorama-ed/memo_wise/pull/262)]
53
+
54
+ _No breaking changes!_
55
+
56
+ **Project enhancements:**
57
+
58
+ - Update official test coverage to support Ruby 3.1 [[#263](https://github.com/panorama-ed/memo_wise/pull/263)]
59
+
60
+ ## [v1.5.0](https://github.com/panorama-ed/memo_wise/compare/v1.4.0...v1.5.0) - 2021-12-17
61
+
62
+ **Gem enhancements:**
63
+
64
+ - Removed thread-unsafe optimization which optimized for returning "truthy" results
65
+ [[#255](https://github.com/panorama-ed/memo_wise/pull/255)]
66
+ - Switched to a simpler internal data structure to fix several classes of bugs related to inheritance
67
+ that the previous few versions were unable to sufficiently address
68
+ [[#250](https://github.com/panorama-ed/memo_wise/pull/250)]
69
+
70
+ _No breaking changes!_
71
+
72
+ **Project enhancements:**
73
+
74
+ - Expanded thread-safety testing [[#254](https://github.com/panorama-ed/memo_wise/pull/254)]
75
+
76
+ ## [v1.4.0](https://github.com/panorama-ed/memo_wise/compare/v1.3.0...v1.4.0) - 2021-12-10
77
+
78
+ **Gem enhancements:**
79
+
80
+ - Fixed several bugs related to classes inheriting memoized methods from multiple modules or a parent class
81
+ [[#241](https://github.com/panorama-ed/memo_wise/pull/241)]
82
+
83
+ _No breaking changes!_
84
+
85
+ **Project enhancements:**
86
+
87
+ - Added TruffleRuby tests to CI [[#237](https://github.com/panorama-ed/memo_wise/pull/237)]
88
+
89
+ ## [v1.3.0](https://github.com/panorama-ed/memo_wise/compare/v1.2.0...v1.3.0) - 2021-11-22
90
+
91
+ **Gem enhancements:**
92
+
93
+ - Fixed thread-safety issue in concurrent calls to a zero-arg method in an unmemoized state (which resulted in a `nil` value being incorrectly returned in one thread) [[#230](https://github.com/panorama-ed/memo_wise/pull/230)]
94
+ - Fixed bugs related to child classes inheriting from parent classes that use `MemoWise`
95
+ [[#229](https://github.com/panorama-ed/memo_wise/pull/229)]
96
+
97
+ _No breaking changes!_
98
+
99
+ **Project enhancements:**
100
+
101
+ - Added thread-safety test [[#225](https://github.com/panorama-ed/memo_wise/pull/225)]
102
+
103
+ ## [v1.2.0](https://github.com/panorama-ed/memo_wise/compare/v1.1.0...v1.2.0) - 2021-11-10
104
+
105
+ **Gem enhancements:**
106
+
107
+ - Optimized memoized lookups for all methods by using an outer array instead of a hash
108
+ [[#211](https://github.com/panorama-ed/memo_wise/pull/211),
109
+ [#210](https://github.com/panorama-ed/memo_wise/pull/210),
110
+ [#219](https://github.com/panorama-ed/memo_wise/pull/219)]
111
+ - Removed an internal optimization using `#hash` due to the potential of hash collisions
112
+ [[#219](https://github.com/panorama-ed/memo_wise/pull/219)]
113
+ - Changed internal local variable names to avoid name collisions with memoized method arguments
114
+ [[#221](https://github.com/panorama-ed/memo_wise/pull/221)]
115
+
116
+ _No breaking changes!_
117
+
118
+ **Project enhancements:**
119
+
120
+ - Added nuance to benchmarks [[#214](https://github.com/panorama-ed/memo_wise/pull/214)]
121
+ - Significantly sped up tests [[#206](https://github.com/panorama-ed/memo_wise/pull/206)]
122
+
123
+ ## [v1.1.0](https://github.com/panorama-ed/memo_wise/compare/v1.0.0...v1.1.0) - 2021-07-29
124
+
125
+ **Gem enhancements:**
126
+
127
+ - Fixed buggy behavior in module singleton classes and modules extended by other classes
128
+ [[#185](https://github.com/panorama-ed/memo_wise/pull/185)]
129
+ - Optimized memoized lookups in many cases, using a variety of optimizations
130
+ [[#189](https://github.com/panorama-ed/memo_wise/pull/189)]
131
+
132
+ _No breaking changes!_
133
+
134
+ **Project enhancements:**
135
+
136
+ - Added the `dry-core` gem to benchmarks [[#187](https://github.com/panorama-ed/memo_wise/pull/187)]
137
+
138
+ ## [v1.0.0](https://github.com/panorama-ed/memo_wise/compare/v0.4.0...v1.0.0) - 2021-06-24
139
+
140
+ **Gem enhancements:**
141
+
142
+ - Class methods are now supported by `#preset_memo_wise` and `#reset_memo_wise`
143
+ [[#134](https://github.com/panorama-ed/memo_wise/pull/134),
144
+ [#145](https://github.com/panorama-ed/memo_wise/pull/145)]
145
+ - Optimized memoized lookups in many cases [[#143](https://github.com/panorama-ed/memo_wise/pull/143)]
146
+ - Implemented `.instance_method` to proxy original method parameters
147
+ [[#163](https://github.com/panorama-ed/memo_wise/pull/163)]
148
+
149
+ _No breaking changes!_
150
+
151
+ **Project enhancements:** none
152
+
153
+ ## [v0.4.0](https://github.com/panorama-ed/memo_wise/compare/v0.3.0...v0.4.0) - 2021-04-30
154
+
155
+ **Gem enhancements:**
156
+
157
+ - Methods on objects that are serialized/deserialized with `Marshal` can now be memoized
158
+ [[#138](https://github.com/panorama-ed/memo_wise/pull/138)]
159
+ - Classes with keyword arguments in `#initialize` can now support memoization
160
+ [[#125](https://github.com/panorama-ed/memo_wise/pull/125)]
161
+
162
+ _No breaking changes!_
163
+
164
+ **Project enhancements:**
165
+
166
+ - Added [`A Note on Testing`](https://github.com/panorama-ed/memo_wise#a-note-on-testing) section of `README.md`
167
+ [[#123](https://github.com/panorama-ed/memo_wise/pull/123)]
168
+
169
+ ## [v0.3.0](https://github.com/panorama-ed/memo_wise/compare/v0.2.0...v0.3.0) - 2021-02-11
170
+
171
+ **Gem enhancements:**
172
+
173
+ - Class methods can now be memoized [[#83](https://github.com/panorama-ed/memo_wise/pull/83)]
174
+ - Instance methods on objects created with `Class#allocate` can now be memoized
175
+ [[#99](https://github.com/panorama-ed/memo_wise/pull/99)]
176
+ - Fixed `#reset_memo_wise` for private methods [[#111](https://github.com/panorama-ed/memo_wise/pull/111)]
177
+
178
+ _No breaking changes!_
179
+
180
+ **Project enhancements:**
181
+
182
+ - Added the project logo [[#81](https://github.com/panorama-ed/memo_wise/pull/81)]
183
+ - Added `CHANGELOG.md` and version tags [[#78](https://github.com/panorama-ed/memo_wise/pull/78)]
184
+ - Documented release procedure in `README.md` [[#114](https://github.com/panorama-ed/memo_wise/pull/114)]
185
+ - Updated CI testing and benchmarks for Ruby 3.0 [[#101](https://github.com/panorama-ed/memo_wise/pull/101)]
186
+
187
+ ## [v0.2.0](https://github.com/panorama-ed/memo_wise/compare/v0.1.2...v0.2.0) - 2020-10-28
188
+
189
+ **Gem enhancements:**
190
+
191
+ - Added `#preset_memo_wise` to preset memoization values [[#30](https://github.com/panorama-ed/memo_wise/pull/30)]
192
+
193
+ _Breaking changes:_
194
+
195
+ - Removed `#reset_all_memo_wise` (use `#reset_memo_wise` instead)
196
+ [[#52](https://github.com/panorama-ed/memo_wise/pull/52)]
197
+
198
+ **Project enhancements:**
199
+
200
+ - YARD docs are now generated [[#52](https://github.com/panorama-ed/memo_wise/pull/52),
201
+ [#55](https://github.com/panorama-ed/memo_wise/pull/55),
202
+ [#57](https://github.com/panorama-ed/memo_wise/pull/57)]
203
+ - 100% code coverage is now enforced [[#62](https://github.com/panorama-ed/memo_wise/pull/62)]
204
+
205
+ ## [v0.1.2](https://github.com/panorama-ed/memo_wise/compare/v0.1.1...v0.1.2) - 2020-10-01
206
+
207
+ **Gem enhancements:**
208
+
209
+ - Optimized memoized lookups with internal data structure and method signature changes
210
+ [[#28](https://github.com/panorama-ed/memo_wise/pull/28), [#32](https://github.com/panorama-ed/memo_wise/pull/32)]
211
+
212
+ _No breaking changes!_
213
+
214
+ **Project enhancements:**
215
+
216
+ - Tests now assert that memoization works with the `Values` gem
217
+ [[#46](https://github.com/panorama-ed/memo_wise/pull/46)]
218
+ - Added `README.md` badges for tests, docs, and RubyGems
219
+ [[#47](https://github.com/panorama-ed/memo_wise/pull/47)]
220
+
221
+ ## [v0.1.1](https://github.com/panorama-ed/memo_wise/compare/v0.1.0...v0.1.1) - 2020-08-03
222
+
223
+ **Gem enhancements:**
224
+
225
+ - `#reset_memo_wise` can now reset memoization for specific method arguments
226
+ [[#20](https://github.com/panorama-ed/memo_wise/pull/20)]
227
+
228
+ _No breaking changes!_
229
+
230
+ **Project enhancements:**
231
+
232
+ - Added benchmarks to compare `MemoWise` to other Ruby memoization gems
233
+ [[#13](https://github.com/panorama-ed/memo_wise/pull/13)]
234
+
235
+ ## [v0.1.0](https://github.com/panorama-ed/memo_wise/compare/v0.0.1...v0.1.0) - 2020-07-20
236
+
237
+ **Gem enhancements:**
238
+
239
+ - Added `#memo_wise`, which enables method memoization [[#4](https://github.com/panorama-ed/memo_wise/pull/4)]
240
+ - Added `#reset_memo_wise` and `#reset_all_memo_wise`, which reset memoization
241
+ [[#4](https://github.com/panorama-ed/memo_wise/pull/4)]
242
+
243
+ _No breaking changes!_
244
+
245
+ **Project enhancements:** none
246
+
247
+ ## [v0.0.1](https://github.com/panorama-ed/memo_wise/releases/tag/v0.0.1) - 2020-06-29
248
+
249
+ *This version does not provide memoization functionality; it simply includes
250
+ project scaffolding.*
data/Gemfile CHANGED
@@ -7,20 +7,25 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
7
7
  gemspec
8
8
 
9
9
  group :test do
10
- gem "rspec", "~> 3.10"
10
+ gem "rspec", "~> 3.12"
11
11
  gem "values", "~> 1"
12
12
  end
13
13
 
14
14
  # Excluded from CI except on latest MRI Ruby, to reduce compatibility burden
15
15
  group :checks do
16
- gem "codecov"
17
- gem "panolint", github: "panorama-ed/panolint", branch: "main"
16
+ gem "panolint-ruby", github: "panorama-ed/panolint-ruby", branch: "main"
17
+
18
+ # Simplecov to generate coverage info
19
+ gem "simplecov", require: false
20
+
21
+ # Simplecov-cobertura to generate an xml coverage file to upload to Codecov
22
+ gem "simplecov-cobertura", require: false
18
23
  end
19
24
 
20
25
  # Excluded from CI except on latest MRI Ruby, to reduce compatibility burden
21
26
  group :docs do
22
- gem "dokaz"
23
- gem "redcarpet", "~> 3.5"
27
+ gem "dokaz", "~> 0.0.5"
28
+ gem "redcarpet", "~> 3.6"
24
29
  gem "yard", "~> 0.9"
25
30
  gem "yard-doctest", "~> 0.1"
26
31
  end