memo_wise 1.6.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
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