gem_bench 2.0.1 → 2.0.2

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: b054d58ceb273738cbb17694960de3fb3a5c8646eeed7f41c77e9b4177e3a52c
4
- data.tar.gz: a5565712bc1ae7423890b8b7615a048850962e6a403f6ed76828804f60fa8840
3
+ metadata.gz: 59e1de2253ef3ec5e1a82ee85837764bd4f5bb52e4e1445489d7ae3d28adf5b6
4
+ data.tar.gz: '088ee6272de7a10656b202e1a24a29cfc144e0032e218fdb6322552eec416fe5'
5
5
  SHA512:
6
- metadata.gz: 9ba5c0b8243072eec99db4ccd0d7efd6aab41d6d592bfddecf359259777a9be5c578f7ef8c3cf02b01117369c0f777db594cbf22ec5663d6dbaf06c700e87d96
7
- data.tar.gz: 25e0360cd1200ecdc0d7a65de318c02270492c255dc66f9bf46cd4359a5fe37ff6b67307c351b20657ada7a3ec04584221bbe8bafce5f29e8d2373671042a941
6
+ metadata.gz: 98f28036a4f33a517593ed8af78fdf3b177d4033bc58a3e1be55958513ec28e72f24dad753f3c400fa0b35af6b40b85d17026e11fed669862dd2b8d56f7690bc
7
+ data.tar.gz: e5334f36e3e534be04804c83ee37eb94810b05aa73fefcb1c39b573f3fdab692ea1f4a9ca5b5a929bdc0a2666dcb591520f8648e412fc30ff3c44bc76c5da9bd
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -11,53 +11,68 @@ and this project adheres to [Semantic Versioning v2](https://semver.org/spec/v2.
11
11
  ### Fixed
12
12
  ### Removed
13
13
 
14
+ [2.0.2] SEP.17.2024
15
+ COVERAGE: 82.15% -- 382/465 lines in 9 files
16
+ BRANCH COVERAGE: 58.79% -- 97/165 branches in 9 branches
17
+ 51.72% documented
18
+ ### Added
19
+ - CI for Ancient Rubies
20
+ - Ruby 2.3
21
+ - Ruby 2.4
22
+ - Ruby 2.5
23
+ - Ruby 2.6
24
+ - More & improved documentation
25
+ ### Fixed
26
+ - Typo in URL in documentation
27
+ - Gemspec description & Summary
28
+
14
29
  [2.0.1] SEP.17.2024
15
30
  COVERAGE: 82.15% -- 382/465 lines in 9 files
16
31
  BRANCH COVERAGE: 58.08% -- 97/167 branches in 9 files
17
32
  51.72% documented
18
33
  ### Added
19
- * Ability to re-namespace and load copy of a gem alongside vanilla version for benchmarking via `GemBench::Jersey`
20
- * See: https://github.com/panorama-ed/memo_wise/pull/339
21
- * Many more tests
22
- * `kettle-soup-cover` for test coverage enforcement
23
- * Better documentation
24
- * Improved instructions for contributing
34
+ - Ability to re-namespace and load copy of a gem alongside vanilla version for benchmarking via `GemBench::Jersey`
35
+ - See: https://github.com/panorama-ed/memo_wise/pull/339
36
+ - Many more tests
37
+ - `kettle-soup-cover` for test coverage enforcement
38
+ - Better documentation
39
+ - Improved instructions for contributing
25
40
  ### Changed
26
- * Improved `bin/checksums`
41
+ - Improved `bin/checksums`
27
42
  ### Fixed
28
- * Stopped swallowing `ArgumentError` in certain exceptional cases
43
+ - Stopped swallowing `ArgumentError` in certain exceptional cases
29
44
 
30
45
  [2.0.0] SEP.25.2023
31
46
  ### Added
32
- * Compatible with Bundler 2+
33
- * Checksums for release
34
- * SHA-256
35
- * SHA-512
36
- * Signed releases
37
- * Add CODE_OF_CONDUCT.md
38
- * Add SECURITY.md (Security policy)
39
- * Github Actions
47
+ - Compatible with Bundler 2+
48
+ - Checksums for release
49
+ - SHA-256
50
+ - SHA-512
51
+ - Signed releases
52
+ - Add CODE_OF_CONDUCT.md
53
+ - Add SECURITY.md (Security policy)
54
+ - Github Actions
40
55
  ### Changed
41
- * Dropped support for Ruby 2.0, 2.1, and 2.2
42
- * `VERSION` constant now lives at `GemBench::Version::VERSION`, enhanced by `version_gem`
43
- * Changelog updated to Keep-a-changelog format (going forward)
56
+ - Dropped support for Ruby 2.0, 2.1, and 2.2
57
+ - `VERSION` constant now lives at `GemBench::Version::VERSION`, enhanced by `version_gem`
58
+ - Changelog updated to Keep-a-changelog format (going forward)
44
59
  ### Removed
45
- * Removed Appraisals
46
- * Removed Travis-CI
60
+ - Removed Appraisals
61
+ - Removed Travis-CI
47
62
 
48
63
  [1.0.6] SEP.09.2018
49
- * Documentation improvements
50
- * Add Ruby 2.5 to build matrix
64
+ - Documentation improvements
65
+ - Add Ruby 2.5 to build matrix
51
66
 
52
67
  [1.0.5] JUN.05.2017
53
- * Allow github macro as an alternative to git within Gemfile for strict version constraint analysis
68
+ - Allow github macro as an alternative to git within Gemfile for strict version constraint analysis
54
69
 
55
70
  [1.0.3] JUN.02.2017
56
- * fixed accidental removal of loaded_gems in 1.0.2
57
- * better documentation
71
+ - fixed accidental removal of loaded_gems in 1.0.2
72
+ - better documentation
58
73
 
59
74
  [1.0.2] JUN.02.2017
60
- * version constraint checking, useful to add a spec enforcing Gemfile version constraints, by Peter Boling
75
+ - version constraint checking, useful to add a spec enforcing Gemfile version constraints, by Peter Boling
61
76
  - Console use:
62
77
  - GemBench::StrictVersionRequirement.new({verbose: true})
63
78
  - Spec use:
@@ -71,41 +86,41 @@ end
71
86
  ```
72
87
 
73
88
  [1.0.1] MAR.25.2017
74
- * fixed a typo that prevented Gemfile comparison by mobilutz
89
+ - fixed a typo that prevented Gemfile comparison by mobilutz
75
90
 
76
91
  [1.0.0] FEB.26.2017
77
- * New feature: scan all code (except for test/spec/feature code) in all loaded gems for a given regex:
92
+ - New feature: scan all code (except for test/spec/feature code) in all loaded gems for a given regex:
78
93
  - puts GemBench.find(look_for_regex: /HERE BE DRAGONS/).starters.map {|gem| "#{gem.name} has DRAGONS at #{gem.stats}" }.join("\n")
79
- * Added basic specs
80
- * More Documentation
81
- * added back git dependency to gemspec (pulled in latest Gem scaffolding from Bundler :/)
94
+ - Added basic specs
95
+ - More Documentation
96
+ - added back git dependency to gemspec (pulled in latest Gem scaffolding from Bundler :/)
82
97
 
83
98
  [0.0.8] JAN.16.2014
84
- * Corrected issues with 0.0.7 release.
85
- * More Documentation
86
- * removed git dependency from gemspec
99
+ - Corrected issues with 0.0.7 release.
100
+ - More Documentation
101
+ - removed git dependency from gemspec
87
102
 
88
103
  [0.0.7] DEC.23.2013 (Yanked immediately)
89
- * Attempt to fix failure on encoding problem, with a rescue fallback (Issue #1) by Peter Boling
90
- * Readme / Documentation improvements by John Bachir
91
- * Runtime output improvements by John Bachir
104
+ - Attempt to fix failure on encoding problem, with a rescue fallback (Issue #1) by Peter Boling
105
+ - Readme / Documentation improvements by John Bachir
106
+ - Runtime output improvements by John Bachir
92
107
 
93
108
  [0.0.6] AUG.29.2013
94
- * Added license to gemspec by Peter Boling
95
- * No longer altering Ruby load path - Let the gem manager do that by Peter Boling
109
+ - Added license to gemspec by Peter Boling
110
+ - No longer altering Ruby load path - Let the gem manager do that by Peter Boling
96
111
 
97
112
  [0.0.5] AUG.28.2013
98
- * Encode as UTF-8 prior to comparison by Peter Boling
113
+ - Encode as UTF-8 prior to comparison by Peter Boling
99
114
 
100
115
  [0.0.4] APR.06.2013
101
- * Expanded exclusion list by Peter Boling
116
+ - Expanded exclusion list by Peter Boling
102
117
 
103
118
  [0.0.3] APR.06.2013
104
- * Late night coding needs more coffee by Peter Boling
119
+ - Late night coding needs more coffee by Peter Boling
105
120
 
106
121
  [0.0.2] APR.06.2013
107
- * Works against 265 dependency Gemfile by Peter Boling
108
- * Added ability to evaluate a Gemfile by Peter Boling
122
+ - Works against 265 dependency Gemfile by Peter Boling
123
+ - Added ability to evaluate a Gemfile by Peter Boling
109
124
 
110
125
  [0.0.1] APR.05.2013
111
- * Initial release by Peter Boling
126
+ - Initial release by Peter Boling
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2013 - 2018 Peter H. Boling, http://railsbling.com
3
+ Copyright (c) 2013 - 2014, 2016 - 2020, 2023 - 2024 Peter H. Boling, http://railsbling.com
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -8,6 +8,7 @@
8
8
  [![Version](https://img.shields.io/gem/v/gem_bench.svg)](https://rubygems.org/gems/gem_bench)
9
9
  [![Downloads Today](https://img.shields.io/gem/rd/gem_bench.svg)](https://github.com/pboling/gem_bench)
10
10
  [![Depfu](https://badges.depfu.com/badges/865e7bb1d0d3eb3ba807fca7344e22d1/overview.svg)](https://depfu.com/github/pboling/gem_bench?project_id=2688)
11
+ [![CodeCov][🖇codecov-img♻️]][🖇codecov]
11
12
  [![Test Coverage](https://api.codeclimate.com/v1/badges/80787f126e7a486b19af/test_coverage)](https://codeclimate.com/github/pboling/gem_bench/test_coverage)
12
13
  [![Maintainability](https://api.codeclimate.com/v1/badges/80787f126e7a486b19af/maintainability)](https://codeclimate.com/github/pboling/gem_bench/maintainability)
13
14
  [![CI Supported Build][🚎s-wfi]][🚎s-wf]
@@ -15,7 +16,10 @@
15
16
  [![CI Style Build][🚎st-wfi]][🚎st-wf]
16
17
  [![CI Coverage Build][🚎cov-wfi]][🚎cov-wf]
17
18
  [![CI Heads Build][🚎hd-wfi]][🚎hd-wf]
19
+ [![CI Ancient Build][🚎an-wfi]][🚎an-wf]
18
20
 
21
+ [🖇codecov-img♻️]: https://codecov.io/gh/pboling/gem_bench/graph/badge.svg?token=selEoMrZzA
22
+ [🖇codecov]: https://codecov.io/gh/pboling/gem_bench
19
23
  [🚎s-wf]: https://github.com/pboling/gem_bench/actions/workflows/supported.yml
20
24
  [🚎s-wfi]: https://github.com/pboling/gem_bench/actions/workflows/supported.yml/badge.svg
21
25
  [🚎us-wf]: https://github.com/pboling/gem_bench/actions/workflows/unsupported.yml
@@ -26,6 +30,8 @@
26
30
  [🚎cov-wfi]: https://github.com/pboling/gem_bench/actions/workflows/coverage.yml/badge.svg
27
31
  [🚎hd-wf]: https://github.com/pboling/gem_bench/actions/workflows/heads.yml
28
32
  [🚎hd-wfi]: https://github.com/pboling/gem_bench/actions/workflows/heads.yml/badge.svg
33
+ [🚎an-wf]: https://github.com/pboling/gem_bench/actions/workflows/ancient.yml
34
+ [🚎an-wfi]: https://github.com/pboling/gem_bench/actions/workflows/ancient.yml/badge.svg
29
35
 
30
36
  </div>
31
37
 
@@ -57,13 +63,21 @@
57
63
  </div>
58
64
  </div>
59
65
 
60
- Scene: You are a spectator at a game of Ruby Sports Gem Ball.
66
+ ## What's it do?
67
+
68
+ 🏁 Copy & Re-namespace any gem to benchmark side-by-side with `benchmarks-ips`!
69
+
70
+ 👯 For example, many of the ~dozen Memoization gems use the same namespaces (`Memoist`, `Memery`, etc).
71
+ In order to compare them side-by-side one of them must be re-namespaced.
61
72
 
62
- Gem wearing jersey namespace **#23**:
73
+ <details>
74
+ <summary>Scene: Spectator at a game of Ruby Sports Gem Ball</summary>
75
+
76
+ Gem wearing jersey **#23**:
63
77
 
64
78
  > "Put me in coach!"
65
79
 
66
- Other Gem, also wearing jersey namespace **#23**:
80
+ Other Gem, also wearing jersey **#23**:
67
81
 
68
82
  > "Put me in coach!"
69
83
 
@@ -71,32 +85,50 @@ Coach:
71
85
 
72
86
  > ❨╯°□°❩╯︵┻━┻ fine, but one of you change your jersey first!
73
87
 
74
- ## What's it do?
75
-
76
- `gem_bench` is for static Gemfile and installed gem library source code analysis.
88
+ </details>
77
89
 
78
- `gem_bench` can be used to re-namespace a gem at run-time so that you can run simultaneously:
90
+ 🤩 Benchmark trunk against released version of a library!
79
91
 
80
- - two versions of the same library, or
81
- - two different things that happen to have a namespace collision,
92
+ 🧐 A `git clone` build can now be run against the latest public release build, side-by-side, by re-namespacing one of them.
82
93
 
83
- for benchmarking or other purposes.
94
+ 🕵️‍♀️ Static Gemfile and installed gem library source code analysis.
95
+ Regex search through all of a project's source code, including installed Bundler dependencies.
84
96
 
85
- `gem_bench` can also be used to trim down app load times by keeping your worst players on the bench.
97
+ 🛟 Trim down app load times, such as on Heroku, by finding and keeping your worst players on the bench.
86
98
 
87
- | Project | GemBench |
88
- |------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
89
- | gem name | [gem_bench](https://rubygems.org/gems/gem_bench) |
90
- | code triage | [![Open Source Helpers](https://www.codetriage.com/pboling/gem_bench/badges/users.svg)](https://www.codetriage.com/pboling/gem_bench) |
91
- | homepage | [on Github.com][homepage] |
92
- | documentation | [on Rdoc.info][documentation] |
93
- | live chat | [![Join the chat][🏘chati]][🏘chat] |
94
- | expert support | [![Get help on Codementor](https://cdn.codementor.io/badges/get_help_github.svg)](https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github) |
95
- | Spread ~♡ⓛⓞⓥⓔ♡~ | [🌏](https://about.me/peter.boling) [👼](https://angel.co/peter-boling) [![Tweet Peter](https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow)](http://twitter.com/galtzo) |
99
+ | Project | GemBench |
100
+ |----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
101
+ | gem name | [gem_bench](https://rubygems.org/gems/gem_bench) |
102
+ | code triage | [![Open Source Helpers](https://www.codetriage.com/pboling/gem_bench/badges/users.svg)](https://www.codetriage.com/pboling/gem_bench) |
103
+ | homepage | [on Github.com][homepage] |
104
+ | documentation | [on Rdoc.info][documentation] |
105
+ | live chat | [![Join the chat][🏘chati]][🏘chat] |
106
+ | expert support | [![Get help on Codementor](https://cdn.codementor.io/badges/get_help_github.svg)](https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github) |
107
+ | `...` 💖 | [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay] [![Sponsor Me][🖇sponsor-img]][🖇sponsor] [![Follow Me on LinkedIn][🖇linkedin-img]][🖇linkedin] [![Find Me on WellFound:][✌️wellfound-img]][✌️wellfound] [![Find Me on CrunchBase][💲crunchbase-img]][💲crunchbase] [![My LinkTree][🌳linktree-img]][🌳linktree] [![Follow Me on Ruby.Social][🐘ruby-mast-img]][🐘ruby-mast] [![Tweet @ Peter][🐦tweet-img]][🐦tweet] [💻][coderme] [🌏][aboutme] |
96
108
 
97
109
  [🏘chat]: https://matrix.to/#/%23pboling_gem_bench:gitter.im
98
110
  [🏘chati]: https://badges.gitter.im/Join%20Chat.svg
99
111
 
112
+ <!-- 7️⃣ spread 💖 -->
113
+ [🐦tweet-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow%20%40galtzo
114
+ [🐦tweet]: http://twitter.com/galtzo
115
+ [🚎blog]: http://www.railsbling.com/tags/gem_bench/
116
+ [🚎blog-img]: https://img.shields.io/badge/blog-railsbling-brightgreen.svg?style=flat
117
+ [🖇linkedin]: http://www.linkedin.com/in/peterboling
118
+ [🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-blue?style=plastic&logo=linkedin
119
+ [✌️wellfound]: https://angel.co/u/peter-boling
120
+ [✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=plastic&logo=wellfound
121
+ [💲crunchbase]: https://www.crunchbase.com/person/peter-boling
122
+ [💲crunchbase-img]: https://img.shields.io/badge/peter--boling-purple?style=plastic&logo=crunchbase
123
+ [🐘ruby-mast]: https://ruby.social/@galtzo
124
+ [🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https%3A%2F%2Fruby.social&style=plastic&logo=mastodon&label=Ruby%20%40galtzo
125
+ [🌳linktree]: https://linktr.ee/galtzo
126
+ [🌳linktree-img]: https://img.shields.io/badge/galtzo-purple?style=plastic&logo=linktree
127
+
128
+ <!-- Maintainer Contact Links -->
129
+ [aboutme]: https://about.me/peter.boling
130
+ [coderme]: https://coderwall.com/Peter%20Boling
131
+
100
132
  ### New for 2.0.1 - `GemBench::Jersey`
101
133
 
102
134
  Allows you to re-namespace any gem.
@@ -177,11 +209,14 @@ For string version constraints anything is allowed (e.g. `'~> 1.0'`), as it assu
177
209
 
178
210
  Search the Ruby source code of all the gems loaded by your Gemfile for a specified regex, to find out which gems have wat DRAGONS.
179
211
 
212
+ <details>
213
+ <summary>Scene: Rubiana Jones is searching for WAT Dragon relics in dusty bins of source code</summary>
214
+
180
215
  Gem:
181
216
 
182
217
  > "I have no wat DRAGONS!"`
183
218
 
184
- You:
219
+ Rubiana Jones:
185
220
 
186
221
  > ❨╯°□°❩╯︵┻━┻ Yes you do!
187
222
 
@@ -196,6 +231,8 @@ byebug has wat DRAGONS at [["/Users/pboling/.rvm/gems/ruby-2.4.0@foss/gems/byebu
196
231
  NOTE: The number (954, above) is not a line number. The file which contains the text `wat` was the 954th file evaluated, i.e. the number doesn't matter.
197
232
  NOTE: This is a contrived example. The occurrence of `wat` in byebug is meaningless: `byebug/commands/frame.rb:34` has ` if there is a front end also watching over things.`. This is just an example! You can find anything you want, perhaps even something important!
198
233
 
234
+ </details>
235
+
199
236
  It is a fact of RubyGems that many of them do not need to be loaded by your app at boot time.
200
237
  It is a fact of Bundler that you don't know which ones need to be 'required' while staring at the Gemfile.
201
238
  It is a fact of Heroku that you only have 60, 75, or 120 ([by special request](https://devcenter.heroku.com/articles/error-codes#h20-app-boot-timeout)) precious seconds to get your app loaded before ❨╯°□°❩╯︵┻━┻
@@ -206,11 +243,22 @@ You can even use it to evaluate your project's actual Gemfile for easy peasy boo
206
243
 
207
244
  ## Installation
208
245
 
209
- You *may not* need to add this gem to your project. You have three options, 1, 2 or BEST:
246
+ You *may not* need to add this gem to your project.
247
+
248
+ Install the gem and add to the application's Gemfile by executing:
249
+
250
+ $ bundle add active_security
251
+
252
+ If bundler is not being used to manage dependencies, install the gem by executing:
253
+
254
+ $ gem install active_security
255
+
256
+ <details>
257
+ <summary>Installation Options</summary>
210
258
 
211
259
  ### Option 1
212
260
 
213
- Just install it, and require it in your`irb`/`console` session when you want to use it. However, if you load your console with `bundle exec` then you only have access to gems in the gemfile, so either load without `bundle exec` or add it to the `Gemfile`.
261
+ Just install it, and require it in your `irb` or `console` session when you want to use it. However, if you load your console with `bundle exec` then you only have access to gems in the gemfile, so either load without `bundle exec` or add it to the `Gemfile`.
214
262
 
215
263
  $ gem install gem_bench
216
264
 
@@ -236,13 +284,16 @@ If you are going to use the gem in your specs, you will need to add it to the te
236
284
 
237
285
  gem 'gem_bench', :group => :test
238
286
 
287
+ </details>
288
+
239
289
  ## Usage
240
290
 
241
291
  Works with Ruby >= 2.3.
242
292
 
243
- ### Example!
293
+ ### Examples
244
294
 
245
- Getting tired of seeing this `irb` warning, perhaps?
295
+ <details>
296
+ <summary>Getting tired of seeing this `irb` warning, perhaps?</summary>
246
297
 
247
298
  ```
248
299
  $ bundle exec rails console
@@ -268,7 +319,10 @@ Then find the file with the first occurrence of the regex in each:
268
319
  => [["/Users/pboling/.rvm/gems/ruby-2.4.0@foss/gems/byebug-9.0.6/lib/byebug/command.rb"], ["/Users/pboling/.rvm/gems/ruby-2.4.0@foss/gems/diff-lcs-1.3/lib/diff/lcs/hunk.rb"]]
269
320
  ```
270
321
 
271
- ### Find what gems have `RAILS_ENV` specific code!
322
+ </details>
323
+
324
+ <details>
325
+ <summary>Find what gems have `RAILS_ENV` specific code!</summary>
272
326
 
273
327
  Let's try to find what libraries might be using a conditional guard to alter their behavior in a specific Rails environment.
274
328
 
@@ -296,7 +350,10 @@ sass has Rails.env condition in [["/Users/pboling/.asdf/installs/ruby/2.7.8/lib/
296
350
  sass-rails has Rails.env condition in [["/Users/pboling/.asdf/installs/ruby/2.7.8/lib/ruby/gems/2.7.0/gems/sass-rails-5.1.0/lib/sass/rails/railtie.rb", 3349]]
297
351
  ```
298
352
 
299
- ### More Different Example!
353
+ </details>
354
+
355
+ <details>
356
+ <summary> Basic Gemfile Analysis</summary>
300
357
 
301
358
  Fire up an `irb` session or a `rails console` and then:
302
359
 
@@ -352,7 +409,10 @@ If you run the check against a real app's Gemfile it will find numerous primary
352
409
 
353
410
  In a random directory, in an irb session, where there is no Gemfile in sight it will give a lot more information.
354
411
 
355
- ### Advanced Usage
412
+ </details>
413
+
414
+ <details>
415
+ <summary>Advanced Gemfile Analysis</summary>
356
416
 
357
417
  In order to *also* see list gems may *not* be required at boot time you need to:
358
418
 
@@ -512,12 +572,28 @@ How much faster will my app boot loading 45 fewer gems? A bit.
512
572
 
513
573
  **Note:** Some of the gems in the list above should have been excluded. They are now excluded as of `gem_bench` version 0.0.4.
514
574
 
575
+ </details>
576
+
515
577
  ## Future
516
578
 
517
579
  This gem determines which gems need to be loaded at Rails' boot time by looking for Railties and Engines.
518
580
  A future version will also look for initializers, because gems which have code that runs (e.g. configuration) in an initializer also need to be loaded at boot time.
519
581
 
520
- ## Contributors
582
+ ## 🤝 Contributing
583
+
584
+ See [CONTRIBUTING.md][🤝contributing]
585
+
586
+ [🤝contributing]: CONTRIBUTING.md
587
+
588
+ ### Code Coverage
589
+
590
+ If you need some ideas of where to help, you could work on adding more code coverage.
591
+
592
+ [![Coverage Graph][🔑codecov-g]][🖇codecov]
593
+
594
+ [🔑codecov-g]: https://codecov.io/gh/pboling/gem_bench/graphs/tree.svg?token=selEoMrZzA
595
+
596
+ ## 🌈 Contributors
521
597
 
522
598
  [![Contributors][🖐contributors-img]][🖐contributors]
523
599
 
@@ -527,38 +603,73 @@ Made with [contributors-img][🖐contrib-rocks].
527
603
  [🖐contributors]: https://github.com/pboling/gem_bench/graphs/contributors
528
604
  [🖐contributors-img]: https://contrib.rocks/image?repo=pboling/gem_bench
529
605
 
530
- ## Contributing
606
+ ## Star History
607
+
608
+ <a href="https://star-history.com/#pboling/gem_bench&Date">
609
+ <picture>
610
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=pboling/gem_bench&type=Date&theme=dark" />
611
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=pboling/gem_bench&type=Date" />
612
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=pboling/gem_bench&type=Date" />
613
+ </picture>
614
+ </a>
615
+
616
+ ## 🪇 Code of Conduct
617
+
618
+ Everyone interacting in this project's codebases, issue trackers,
619
+ chat rooms and mailing lists is expected to follow the [code of conduct][🪇conduct].
620
+
621
+ [🪇conduct]: CODE_OF_CONDUCT.md
622
+
623
+ ## 📌 Versioning
531
624
 
532
- See [CONTRIBUTING.md](CONTRIBUTING.md)
625
+ This Library adheres to [Semantic Versioning 2.0.0][📌semver].
626
+ Violations of this scheme should be reported as bugs.
627
+ Specifically, if a minor or patch version is released that breaks backward compatibility,
628
+ a new version should be immediately released that restores compatibility.
629
+ Breaking changes to the public API will only be introduced with new major versions.
533
630
 
534
- ## Versioning
631
+ To get a better understanding of how SemVer is intended to work over a project's lifetime,
632
+ read this article from the creator of SemVer:
535
633
 
536
- This library aims to adhere to [Semantic Versioning 2.0.0][semver].
537
- Violations of this scheme should be reported as bugs. Specifically,
538
- if a minor or patch version is released that breaks backward
539
- compatibility, a new version should be immediately released that
540
- restores compatibility. Breaking changes to the public API will
541
- only be introduced with new major versions.
634
+ - ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
542
635
 
543
- As a result of this policy, you can (and should) specify a
544
- dependency on this gem using the [Pessimistic Version Constraint][pvc] with two digits of precision.
636
+ As a result of this policy, you can (and should) specify a dependency on these libraries using
637
+ the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
545
638
 
546
639
  For example:
547
640
 
548
- spec.add_dependency 'gem_bench', '~> 2.0'
641
+ ```ruby
642
+ spec.add_dependency("gem_bench", "~> 2.0")
643
+ ```
549
644
 
550
- See [CHANGELOG.md](CHANGELOG.md) for list of releases.
645
+ See [CHANGELOG.md][📌changelog] for list of releases.
551
646
 
552
- ## Legal
647
+ [comment]: <> ( 📌 VERSIONING LINKS )
553
648
 
554
- * [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
555
- * Copyright (c) 2013 - 2014, 2016 - 2020, 2023 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
649
+ [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
650
+ [📌semver]: http://semver.org/
651
+ [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
652
+ [📌changelog]: CHANGELOG.md
653
+
654
+ ## 📄 License
655
+
656
+ The gem is available as open source under the terms of
657
+ the [MIT License][📄license] [![License: MIT][📄license-img]][📄license-ref].
658
+ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright-notice-explainer].
659
+
660
+ [comment]: <> ( 📄 LEGAL LINKS )
661
+
662
+ [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
663
+ [📄license]: LICENSE.txt
664
+ [📄license-ref]: https://opensource.org/licenses/MIT
665
+ [📄license-img]: https://img.shields.io/badge/License-MIT-green.svg
666
+
667
+ ### © Copyright
668
+
669
+ * Copyright (c) 2013 - 2014, 2016 - 2020, 2023 - 2024 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
556
670
 
557
- [semver]: http://semver.org/
558
- [pvc]: http://docs.rubygems.org/read/chapter/16#page74
559
- [bundle-group-pattern]: https://gist.github.com/pboling/4564780
560
671
  [railsbling]: http://www.railsbling.com
561
672
  [peterboling]: http://www.peterboling.com
562
- [coderwall]: http://coderwall.com/pboling
673
+ [bundle-group-pattern]: https://gist.github.com/pboling/4564780
563
674
  [documentation]: http://rdoc.info/github/pboling/gem_bench/frames
564
675
  [homepage]: https://github.com/pboling/gem_bench
@@ -1,5 +1,5 @@
1
1
  module GemBench
2
2
  module Version
3
- VERSION = "2.0.1"
3
+ VERSION = "2.0.2"
4
4
  end
5
5
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gem_bench
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Boling
@@ -36,7 +36,7 @@ cert_chain:
36
36
  KuxrfYrN+9HvMdm+nZ6TypmKftHY3Gj+/uu+g8Icm/zrvTWAEE0mcJOkfrIoNPJb
37
37
  pF8dMA==
38
38
  -----END CERTIFICATE-----
39
- date: 2024-09-17 00:00:00.000000000 Z
39
+ date: 2024-09-18 00:00:00.000000000 Z
40
40
  dependencies:
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
@@ -273,9 +273,11 @@ dependencies:
273
273
  - !ruby/object:Gem::Version
274
274
  version: 1.35.1
275
275
  description: |-
276
- Enforce Gemfile version constraints
277
- Regex search across all installed gem's source code to find issues quickly
278
- Trim down app load times by keeping your worst players on the bench (useful for beating Heroku slug load time cutoff)
276
+ * Benchmark different versions of same or similar gems
277
+ * Copy & Re-namespace any gem to benchmark side-by-side with `benchmarks-ips`
278
+ * Enforce Gemfile version constraints
279
+ * Regex search across all installed gem's source code to find issues quickly
280
+ * Trim down app load times by keeping your worst players on the bench (useful for beating Heroku slug load time cutoff)
279
281
  email:
280
282
  - peter.boling@gmail.com
281
283
  executables: []
@@ -302,10 +304,10 @@ licenses:
302
304
  - MIT
303
305
  metadata:
304
306
  homepage_uri: https://railsbling.com/tags/gem_bench/
305
- source_code_uri: http://github.com/pboling/gem_bench/tree/v2.0.1
306
- changelog_uri: http://github.com/pboling/gem_bench/blob/v2.0.1/CHANGELOG.md
307
+ source_code_uri: http://github.com/pboling/gem_bench/tree/v2.0.2
308
+ changelog_uri: http://github.com/pboling/gem_bench/blob/v2.0.2/CHANGELOG.md
307
309
  bug_tracker_uri: http://github.com/pboling/gem_bench/issues
308
- documentation_uri: https://www.rubydoc.info/gems/gem_bench/2.0.1
310
+ documentation_uri: https://www.rubydoc.info/gems/gem_bench/2.0.2
309
311
  wiki_uri: http://github.com/pboling/gem_bench/wiki
310
312
  funding_uri: https://liberapay.com/pboling
311
313
  rubygems_mfa_required: 'true'
@@ -324,8 +326,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
324
326
  - !ruby/object:Gem::Version
325
327
  version: '0'
326
328
  requirements: []
327
- rubygems_version: 3.4.22
329
+ rubygems_version: 3.5.18
328
330
  signing_key:
329
331
  specification_version: 4
330
- summary: Static Gemfile and installed gem library source code analysis
332
+ summary: Benchmark different versions of same or similar gems & Static Gemfile and
333
+ installed gem library source code analysis
331
334
  test_files: []
metadata.gz.sig CHANGED
Binary file