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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +61 -46
- data/LICENSE.txt +1 -1
- data/README.md +160 -49
- data/lib/gem_bench/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +13 -10
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59e1de2253ef3ec5e1a82ee85837764bd4f5bb52e4e1445489d7ae3d28adf5b6
|
4
|
+
data.tar.gz: '088ee6272de7a10656b202e1a24a29cfc144e0032e218fdb6322552eec416fe5'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
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
|
-
|
41
|
+
- Improved `bin/checksums`
|
27
42
|
### Fixed
|
28
|
-
|
43
|
+
- Stopped swallowing `ArgumentError` in certain exceptional cases
|
29
44
|
|
30
45
|
[2.0.0] SEP.25.2023
|
31
46
|
### Added
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
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
|
-
|
42
|
-
|
43
|
-
|
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
|
-
|
46
|
-
|
60
|
+
- Removed Appraisals
|
61
|
+
- Removed Travis-CI
|
47
62
|
|
48
63
|
[1.0.6] SEP.09.2018
|
49
|
-
|
50
|
-
|
64
|
+
- Documentation improvements
|
65
|
+
- Add Ruby 2.5 to build matrix
|
51
66
|
|
52
67
|
[1.0.5] JUN.05.2017
|
53
|
-
|
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
|
-
|
57
|
-
|
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
|
-
|
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
|
-
|
89
|
+
- fixed a typo that prevented Gemfile comparison by mobilutz
|
75
90
|
|
76
91
|
[1.0.0] FEB.26.2017
|
77
|
-
|
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
|
-
|
80
|
-
|
81
|
-
|
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
|
-
|
85
|
-
|
86
|
-
|
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
|
-
|
90
|
-
|
91
|
-
|
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
|
-
|
95
|
-
|
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
|
-
|
113
|
+
- Encode as UTF-8 prior to comparison by Peter Boling
|
99
114
|
|
100
115
|
[0.0.4] APR.06.2013
|
101
|
-
|
116
|
+
- Expanded exclusion list by Peter Boling
|
102
117
|
|
103
118
|
[0.0.3] APR.06.2013
|
104
|
-
|
119
|
+
- Late night coding needs more coffee by Peter Boling
|
105
120
|
|
106
121
|
[0.0.2] APR.06.2013
|
107
|
-
|
108
|
-
|
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
|
-
|
126
|
+
- Initial release by Peter Boling
|
data/LICENSE.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
MIT License
|
2
2
|
|
3
|
-
Copyright (c) 2013 -
|
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
|
-
|
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
|
-
|
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
|
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
|
-
|
75
|
-
|
76
|
-
`gem_bench` is for static Gemfile and installed gem library source code analysis.
|
88
|
+
</details>
|
77
89
|
|
78
|
-
|
90
|
+
🤩 Benchmark trunk against released version of a library!
|
79
91
|
|
80
|
-
|
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
|
-
|
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
|
-
|
97
|
+
🛟 Trim down app load times, such as on Heroku, by finding and keeping your worst players on the bench.
|
86
98
|
|
87
|
-
| Project
|
88
|
-
|
89
|
-
| gem name
|
90
|
-
| code triage
|
91
|
-
| homepage
|
92
|
-
| documentation
|
93
|
-
| live chat
|
94
|
-
| expert support
|
95
|
-
|
|
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
|
-
|
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.
|
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
|
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
|
-
###
|
293
|
+
### Examples
|
244
294
|
|
245
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
##
|
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
|
-
##
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
641
|
+
```ruby
|
642
|
+
spec.add_dependency("gem_bench", "~> 2.0")
|
643
|
+
```
|
549
644
|
|
550
|
-
See [CHANGELOG.md]
|
645
|
+
See [CHANGELOG.md][📌changelog] for list of releases.
|
551
646
|
|
552
|
-
|
647
|
+
[comment]: <> ( 📌 VERSIONING LINKS )
|
553
648
|
|
554
|
-
|
555
|
-
|
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
|
-
[
|
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
|
data/lib/gem_bench/version.rb
CHANGED
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.
|
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-
|
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
|
-
|
277
|
-
|
278
|
-
|
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.
|
306
|
-
changelog_uri: http://github.com/pboling/gem_bench/blob/v2.0.
|
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.
|
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.
|
329
|
+
rubygems_version: 3.5.18
|
328
330
|
signing_key:
|
329
331
|
specification_version: 4
|
330
|
-
summary:
|
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
|