gem_bench 2.0.1 → 2.0.2

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: 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