activesupport-tagged_logging 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f5f5c84b303bd62f4fe09ec82a6ab8d1865465efb4cfdcf320bd924e70469bc3
4
- data.tar.gz: 195b98ae4e6f950b7006a8776932106db8c35c23fc92451d2b77f6059396e524
3
+ metadata.gz: 2a2fb64b04b8c492751201d2f737e59b35a81d09de245c56d45161e6c8a9fd62
4
+ data.tar.gz: 541731d47abedd585cccf075659b4570de58561c5da373011ae44fd31f27dbbe
5
5
  SHA512:
6
- metadata.gz: 4d2ea5c487ea646d52e87168699e26f2e2b1567cd678edbcb6ed4d4e52ac0801e51677881a08deceb29e9a49529510f6b35fd025dc117f1ab212dd81c8898cd0
7
- data.tar.gz: 53db093df465636d1dc323e6b1098bb36259b086bc4ba9813744c9f29eefc2a620bbb63a05a20e5c4e316cf59eefa06fad10a94e0385591e792e2c9d2f453a7b
6
+ metadata.gz: 9880b952b57714774f9c4a191c6863179348aa23c3b2a86d1fddf96aab238fb3e63ea111f9c76606e006b5cbd0a765918a1b33a0edf069ad769717b413f877a4
7
+ data.tar.gz: 1f6cf87a2b8b118cec5d62041711efc47a1a1b8bc00f82c8d0b46b3449d3ab73a3fb658e4c62e6aef83f736164df102710bbb1c0fabc48d9e1e11d4482003a7e
checksums.yaml.gz.sig CHANGED
@@ -1 +1,4 @@
1
- { ����
1
+ N���HdL�Q*��ק:֤LV$k#c����w<�-���������#Vb�0�f�$e�ޜ�
2
+ M3���Y�xK�s�3`���T=K�'��:�h�y讞��Av��řr�� U�̡�߷����˃�L^��ٕ��dX���*lP����ó�j�OF�3ɲ�X��諢��C���R��On�^�*�
3
+ )o)OPY����Ll�nYZ�Y�էO ���6���뫇��D�EJ�"��v�K����/�1#4Fi$1NbC�k�˕���]3M�O�s��_�Z�-�0�-P�.-�+[1q����^�^Z��cS����&^\���3��)⻛
4
+ h�Ee�#`��/W�^��%�h�CP/��8DF?yB� A���Z�x�~����
data/CHANGELOG.md CHANGED
@@ -10,6 +10,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
10
10
  ### Fixed
11
11
  ### Removed
12
12
 
13
+ ## [2.0.0] - 2024-11-21
14
+ - COVERAGE: 98.11% -- 104/106 lines in 5 files
15
+ - BRANCH COVERAGE: 81.82% -- 18/22 branches in 5 files
16
+ - 36.36% documented
17
+ ### Changed
18
+ - `ActiveSupport::FixPr53105` => `Activesupport::FixPr53105`
19
+ - **BREAKING CHANGE**: change `ActiveSupport::FixPr53105.init` to `Activesupport::FixPr53105.init`
20
+ - This is to keep the code of this gem in a consistent namespace separate from the standard Rails `ActiveSupport`.
21
+ - Upgrade to `activesupport-logger` v2.0.0
22
+ ### Fixed
23
+ - Compatibility with Rails v5.2, v6.0, v6.1, v7.0, v7.1, and v8
24
+ ### Added
25
+ - Dependency on `activesupport-broadcast_logger` v2.0.0
26
+ - Real test suite
27
+
13
28
  ## [1.0.0] - 2024-10-10
14
29
  - COVERAGE: 46.84% -- 74/158 lines in 6 files
15
30
  - BRANCH COVERAGE: 21.74% -- 5/23 branches in 6 files
data/CONTRIBUTING.md CHANGED
@@ -7,6 +7,63 @@ the [code of conduct][🤝conduct].
7
7
  To submit a patch, please fork the project and create a patch with tests.
8
8
  Once you're happy with it send a pull request.
9
9
 
10
+ ## You can help!
11
+
12
+ Take a look at the `reek` list which is the file called `REEK` and find something to improve.
13
+
14
+ Simply follow these instructions:
15
+
16
+ 1. Fork the repository
17
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
18
+ 3. Make some fixes.
19
+ 4. Commit your changes (`git commit -am 'Added some feature'`)
20
+ 5. Push to the branch (`git push origin my-new-feature`)
21
+ 6. Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
22
+ 7. Create new Pull Request.
23
+
24
+ ## Contributors
25
+
26
+ Your picture could be here!
27
+
28
+ [![Contributors][🖐contributors-img]][🖐contributors]
29
+
30
+ Made with [contributors-img][🖐contrib-rocks].
31
+
32
+ ## The Reek List
33
+
34
+ To refresh the `reek` list:
35
+
36
+ ```bash
37
+ bundle exec reek > REEK
38
+ ```
39
+
40
+ ## Appraisal
41
+
42
+ ### Generate a new set of Appraisal gemfiles:
43
+
44
+ ```bash
45
+ BUNDLE_GEMFILE=Appraisal.root.gemfile appraisal update
46
+ ```
47
+
48
+ ## Run Tests
49
+
50
+ ```bash
51
+ bundle exec rake test
52
+ ```
53
+
54
+ ## Lint It
55
+
56
+ Run all the default tasks, which includes running the gradually autocorrecting linter, `rubocop-gradual`.
57
+
58
+ ```bash
59
+ bundle exec rake
60
+ ```
61
+
62
+ Or just run the linter.
63
+ ```bash
64
+ bundle exec rubocop_gradual:autocorrect
65
+ ```
66
+
10
67
  ## Release
11
68
 
12
69
  ### One-time, Per-developer, Setup
@@ -38,12 +95,6 @@ See: [RubyGems Security Guide][🔒️rubygems-security-guide]
38
95
  12. Run `bundle exec rake release` which will create a git tag for the version,
39
96
  push git commits and tags, and push the `.gem` file to [rubygems.org][💎rubygems]
40
97
 
41
- ## Contributors
42
-
43
- [![Contributors][🖐contributors-img]][🖐contributors]
44
-
45
- Made with [contributors-img][🖐contrib-rocks].
46
-
47
98
  [🧪build]: https://github.com/pboling/activesupport-tagged_logging/actions
48
99
  [🤝conduct]: https://github.com/pboling/activesupport-tagged_logging/blob/main/CODE_OF_CONDUCT.md
49
100
  [🖐contrib-rocks]: https://contrib.rocks
data/README.md CHANGED
@@ -1,14 +1,54 @@
1
1
  # Activesupport::TaggedLogging
2
2
 
3
- [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
4
- [![Version](https://img.shields.io/gem/v/activesupport-tagged_logging.svg)](https://rubygems.org/gems/activesupport-tagged_logging)
5
- [![Downloads Today](https://img.shields.io/gem/rd/activesupport-tagged_logging.svg)](https://github.com/pboling/activesupport-tagged_logging)
6
- [![CI Supported Build][🚎s-wfi]][🚎s-wf]
7
- [![CI Unsupported Build][🚎us-wfi]][🚎us-wf]
8
- [![CI Ancient Build][🚎a-wfi]][🚎a-wf]
9
- [![CI Style Build][🚎st-wfi]][🚎st-wf]
10
- [![CI Coverage Build][🚎cov-wfi]][🚎cov-wf]
11
- [![CI Heads Build][🚎hd-wfi]][🚎hd-wf]
3
+ [![Version][👽versioni]][👽version]
4
+ [![License: MIT][📄license-img]][📄license-ref]
5
+ [![Downloads Rank][👽dl-ranki]][👽dl-rank]
6
+ [![Open Source Helpers][👽oss-helpi]][👽oss-help]
7
+ [![Depfu][🔑depfui♻️]][🔑depfu]
8
+ [![CodeCov][🔑codecovi♻️]][🔑codecov]
9
+ [![Test Coverage][🔑cc-covi♻️]][🔑cc-cov]
10
+ [![Maintainability][🔑cc-mnti♻️]][🔑cc-mnt]
11
+ [![CI Supported Build][🚎6-s-wfi]][🚎6-s-wf]
12
+ [![CI Legacy Build][🚎4-lg-wfi]][🚎4-lg-wf]
13
+ [![CI Unsupported Build][🚎7-us-wfi]][🚎7-us-wf]
14
+ [![CI Heads Build][🚎3-hd-wfi]][🚎3-hd-wf]
15
+ [![CI Coverage Build][🚎2-cov-wfi]][🚎2-cov-wf]
16
+ [![CI Style Build][🚎5-st-wfi]][🚎5-st-wf]
17
+
18
+ <!--- ( 👽️ INFO LINKS ) -->
19
+
20
+ [👽dl-rank]: https://rubygems.org/gems/activesupport-tagged_logging
21
+ [👽dl-ranki]: https://img.shields.io/gem/rd/activesupport-tagged_logging.svg
22
+ [👽oss-help]: https://www.codetriage.com/pboling/activesupport-tagged_logging
23
+ [👽oss-helpi]: https://www.codetriage.com/pboling/activesupport-tagged_logging/badges/users.svg
24
+ [👽version]: https://rubygems.org/gems/activesupport-tagged_logging
25
+ [👽versioni]: https://img.shields.io/gem/v/activesupport-tagged_logging.svg
26
+
27
+ <!--- ( 🔑 KEYED LINKS ) -->
28
+
29
+ [🔑cc-mnt]: https://codeclimate.com/github/pboling/activesupport-tagged_logging/maintainability
30
+ [🔑cc-mnti♻️]: https://api.codeclimate.com/v1/badges/ce5a654a5f9fe07ecb0a/maintainability
31
+ [🔑cc-cov]: https://codeclimate.com/github/pboling/activesupport-tagged_logging/test_coverage
32
+ [🔑cc-covi♻️]: https://api.codeclimate.com/v1/badges/ce5a654a5f9fe07ecb0a/test_coverage
33
+ [🔑codecov]: https://codecov.io/gh/pboling/activesupport-tagged_logging
34
+ [🔑codecovi♻️]: https://codecov.io/gh/pboling/activesupport-tagged_logging/branch/main/graph/badge.svg?token=lhefE7Tkzq
35
+ [🔑depfu]: https://depfu.com/github/pboling/activesupport-tagged_logging
36
+ [🔑depfui♻️]: https://badges.depfu.com/badges/160bf8da842f6caadfc2da5a407842ac/count.svg
37
+
38
+ <!--- ( 🚎 BUILD LINKS ) -->
39
+
40
+ [🚎2-cov-wf]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/coverage.yml
41
+ [🚎2-cov-wfi]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/coverage.yml/badge.svg
42
+ [🚎3-hd-wf]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/heads.yml
43
+ [🚎3-hd-wfi]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/heads.yml/badge.svg
44
+ [🚎4-lg-wf]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/legacy.yml
45
+ [🚎4-lg-wfi]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/legacy.yml/badge.svg
46
+ [🚎5-st-wf]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/style.yml
47
+ [🚎5-st-wfi]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/style.yml/badge.svg
48
+ [🚎6-s-wf]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/supported.yml
49
+ [🚎6-s-wfi]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/supported.yml/badge.svg
50
+ [🚎7-us-wf]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/unsupported.yml
51
+ [🚎7-us-wfi]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/unsupported.yml/badge.svg
12
52
 
13
53
  -----
14
54
 
@@ -18,19 +58,6 @@
18
58
  [![Donate to my FLOSS or refugee efforts at ko-fi.com][🖇kofi-img]][🖇kofi]
19
59
  [![Donate to my FLOSS or refugee efforts using Patreon][🖇patreon-img]][🖇patreon]
20
60
 
21
- [🚎s-wf]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/supported.yml
22
- [🚎s-wfi]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/supported.yml/badge.svg
23
- [🚎us-wf]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/unsupported.yml
24
- [🚎us-wfi]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/unsupported.yml/badge.svg
25
- [🚎a-wf]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/ancient.yml
26
- [🚎a-wfi]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/ancient.yml/badge.svg
27
- [🚎st-wf]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/style.yml
28
- [🚎st-wfi]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/style.yml/badge.svg
29
- [🚎cov-wf]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/coverage.yml
30
- [🚎cov-wfi]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/coverage.yml/badge.svg
31
- [🚎hd-wf]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/heads.yml
32
- [🚎hd-wfi]: https://github.com/pboling/activesupport-tagged_logging/actions/workflows/heads.yml/badge.svg
33
-
34
61
  [⛳liberapay-img]: https://img.shields.io/liberapay/patrons/pboling.svg?logo=liberapay
35
62
  [⛳liberapay]: https://liberapay.com/pboling/donate
36
63
  [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
@@ -42,9 +69,30 @@
42
69
  [🖇patreon-img]: https://img.shields.io/badge/patreon-donate-yellow.svg
43
70
  [🖇patreon]: https://patreon.com/galtzo
44
71
 
45
- This is an **unofficial** extraction of Rails' v8 `ActiveSupport::TaggedLogging` backported to work with Rails v5.2+ and Ruby 2.7+.
72
+ This is an **unofficial** extraction of Rails' v8 `ActiveSupport::TaggedLogging` which has been:
73
+ * refactored ([here][pr-53105]) to work with [broadcast logging][activesupport-broadcast_logger], and
74
+ * backported to work with Rails v5.2+ and Ruby 2.7+.
75
+
76
+ If the suite of gems this is part of is loaded in any version of Rails >= 5.2,
77
+ it will replace the logging tooling completely.
78
+
79
+ This gem automatically depends on and configures the other gems in the suite.
80
+ Simply add it to your Gemfile, and configure. The other gems will just work.
81
+
82
+ Simplified, the load order is basically:
83
+
84
+ - Enhanced [activesupport-logger][activesupport-logger] which was ripped from Rails v8.0
85
+ - Enhanced [activesupport-broadcast_logger][activesupport-broadcast_logger] which was ripped from Rails v8.0, and [this PR][pr-53093]
86
+ - Enhanced [activesupport-tagged_logging][activesupport-tagged_logging] (this gem) which was ripped from Rails v8.0, and [this PR][pr-53105]
46
87
 
47
- If this gem is loaded by Rails v8+, it does nothing at all. NOOP.
88
+ Above load order is handled for you in [activesupport-tagged_logging][activesupport-tagged_logging] (this gem),
89
+ so depend on this gem, not the siblings. ;)
90
+
91
+ [activesupport-logger]: https://github.com/pboling/activesupport-logger
92
+ [activesupport-broadcast_logger]: https://github.com/pboling/activesupport-broadcast_logger
93
+ [activesupport-tagged_logging]: https://github.com/pboling/activesupport-tagged_logging
94
+ [pr-53105]: https://github.com/rails/rails/pull/53105
95
+ [pr-53093]: https://github.com/rails/rails/pull/53093
48
96
 
49
97
  ## Installation
50
98
 
@@ -64,43 +112,42 @@ require "activesupport-tagged_logging"
64
112
 
65
113
  ### With `activesupport-logger` gem
66
114
 
67
- [`activesupport-logger`][activesupport-logger] is automatically depended on and configured by this gem,
115
+ [activesupport-logger][activesupport-logger]
116
+ is automatically depended on and configured by this gem,
68
117
  so you don't need to do anything else.
69
118
 
70
119
  IMPORTANT: When using this gem,
71
- **do not require [`activesupport-logger`][activesupport-logger] in your code.**
120
+ **do not `require "activesupport-logger"` in your code.**
72
121
  Load order matters.
73
122
 
74
- Simplified, the load order is basically:
75
-
76
- - Standard `active_support/logger` from the Rails version loaded by your application
77
- - Standard `active_support/tagged_logging` from the Rails version loaded by your application
78
- - This gem's dependency [`activesupport-logger`][activesupport-logger] which was ripped from the Rails v8 beta
79
- - This gem's `activesupport-tagged_logging` which was ripped from the Rails v8 beta
123
+ ### With `activesupport-broadcast_logger` gem
80
124
 
81
- But, again, this is handled for you.
125
+ [activesupport-broadcast_logger][activesupport-broadcast_logger]
126
+ is automatically depended on and configured by this gem,
127
+ so you don't need to do anything else.
82
128
 
83
- [activesupport-logger]: https://github.com/pboling/activesupport-logger
84
- [activesupport-tagged_logging]: https://github.com/pboling/activesupport-tagged_logging
129
+ IMPORTANT: When using this gem,
130
+ **do not `require "activesupport-broadcast_logger"` in your code.**
131
+ Load order matters.
85
132
 
86
133
  ### With broadcasting support
87
134
 
88
135
  If you want to try an experimental fix from a PR, run:
89
136
 
90
137
  ```ruby
91
- ActiveSupport::FixPr53105.init
138
+ Activesupport::FixPr53105.init
92
139
  ```
140
+ NOTE: The bits of logic that are unique to this gem are in the namespace `Activesupport` (sic).
93
141
 
94
142
  See: https://github.com/rails/rails/pull/53105/files
95
143
 
96
144
  ## General Info
97
145
 
98
- | Primary Namespace | `Activesupport::Logger` && `ActiveSupport::Logger` |
99
- |-------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
100
- | code triage | [![Open Source Helpers](https://www.codetriage.com/pboling/activesupport-tagged_logging/badges/users.svg)](https://www.codetriage.com/pboling/activesupport-tagged_logging) |
101
- | documentation | [on Github.com][homepage], [on RubyDoc.info][documentation] |
102
- | 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) |
103
- | `...` 💖 | [![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] |
146
+ | Primary Namespaces | `Activesupport::TaggedLogging` && `ActiveSupport::TaggedLogging` && `Activesupport::FixPr53105` |
147
+ |--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
148
+ | documentation | [on Github.com][homepage], [Latest release on RubyDoc.info][documentation], [HEAD on RubyDoc.info][documentation-head] |
149
+ | 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) |
150
+ | `...` 💖 | [![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] |
104
151
 
105
152
  <!-- 7️⃣ spread 💖 -->
106
153
  [🐦tweet-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow%20%40galtzo
@@ -117,8 +164,6 @@ See: https://github.com/rails/rails/pull/53105/files
117
164
  [🐘ruby-mast-img]: https://img.shields.io/mastodon/follow/109447111526622197?domain=https%3A%2F%2Fruby.social&style=plastic&logo=mastodon&label=Ruby%20%40galtzo
118
165
  [🌳linktree]: https://linktr.ee/galtzo
119
166
  [🌳linktree-img]: https://img.shields.io/badge/galtzo-purple?style=plastic&logo=linktree
120
- [documentation]: https://rubydoc.info/github/pboling/activesupport-tagged_logging
121
- [homepage]: https://github.com/pboling/activesupport-tagged_logging
122
167
 
123
168
  <!-- Maintainer Contact Links -->
124
169
  [aboutme]: https://about.me/peter.boling
@@ -136,6 +181,12 @@ Also, see [CONTRIBUTING.md][🤝contributing].
136
181
  [🤝pulls]: https://github.com/pboling/activesupport-tagged_logging/pulls
137
182
  [🤝contributing]: CONTRIBUTING.md
138
183
 
184
+ ### Code Coverage
185
+
186
+ [![Coverage Graph][🔑codecov-g]][🔑codecov]
187
+
188
+ [🔑codecov-g]: https://codecov.io/gh/pboling/activesupport-tagged_logging/graphs/tree.svg?token=cc6UdZCpAL
189
+
139
190
  ## 🌈 Contributors
140
191
 
141
192
  [![Contributors][🖐contributors-img]][🖐contributors]
@@ -146,6 +197,16 @@ Made with [contributors-img][🖐contrib-rocks].
146
197
  [🖐contributors]: https://github.com/pboling/activesupport-tagged_logging/graphs/contributors
147
198
  [🖐contributors-img]: https://contrib.rocks/image?repo=pboling/activesupport-tagged_logging
148
199
 
200
+ ## Star History
201
+
202
+ <a href="https://star-history.com/#pboling/activesupport-tagged_logging&Date">
203
+ <picture>
204
+ <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=pboling/activesupport-tagged_logging&type=Date&theme=dark" />
205
+ <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=pboling/activesupport-tagged_logging&type=Date" />
206
+ <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=pboling/activesupport-tagged_logging&type=Date" />
207
+ </picture>
208
+ </a>
209
+
149
210
  ## 🪇 Code of Conduct
150
211
 
151
212
  Everyone interacting in this project's codebases, issue trackers,
@@ -172,12 +233,12 @@ the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
172
233
  For example:
173
234
 
174
235
  ```ruby
175
- spec.add_dependency("activesupport-tagged_logging", "~> 1.0")
236
+ spec.add_dependency("activesupport-tagged_logging", "~> 2.0")
176
237
  ```
177
238
 
178
239
  See [CHANGELOG.md][📌changelog] for list of releases.
179
240
 
180
- [comment]: <> ( 📌 VERSIONING LINKS )
241
+ <!--- ( 📌 VERSIONING LINKS ) -->
181
242
 
182
243
  [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
183
244
  [📌semver]: http://semver.org/
@@ -191,7 +252,7 @@ the [MIT License][📄license] [![License: MIT][📄license-img]][📄license-re
191
252
 
192
253
  See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright-notice-explainer].
193
254
 
194
- [comment]: <> ( 📄 LEGAL LINKS )
255
+ <!--- ( 📄 LEGAL LINKS ) -->
195
256
 
196
257
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
197
258
  [📄license]: LICENSE.txt
@@ -202,12 +263,13 @@ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright
202
263
 
203
264
  * Copyright (c) David Heinemeier Hansson
204
265
  * Parts original to this extraction are:
205
- * Copyright (c) 2024 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
266
+ * Copyright (c) 2024 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
206
267
 
207
268
  [railsbling]: http://www.railsbling.com
208
269
  [peterboling]: http://www.peterboling.com
209
270
  [bundle-group-pattern]: https://gist.github.com/pboling/4564780
210
271
  [documentation]: http://rubydoc.info/gems/activesupport-tagged_logging
272
+ [documentation-head]: https://rubydoc.info/github/pboling/activesupport-tagged_logging/main
211
273
  [homepage]: https://github.com/pboling/activesupport-tagged_logging
212
274
 
213
275
  ## 🤑 One more thing
data/SECURITY.md CHANGED
@@ -4,7 +4,8 @@
4
4
 
5
5
  | Version | Supported |
6
6
  |---------|-----------|
7
- | 1.x | ✅ |
7
+ | 2.x | ✅ |
8
+ | 1.x | ❌ |
8
9
 
9
10
  ## Reporting a Vulnerability
10
11
 
@@ -1,10 +1,13 @@
1
1
  # Support for tagged logging from broadcast logging.
2
- # ActiveSupport::FixPr53105.init
2
+ # Activesupport::FixPr53105.init
3
3
  # See: https://github.com/rails/rails/pull/53105
4
- module ActiveSupport
4
+ module Activesupport
5
5
  module FixPr53105
6
+ # @return void
6
7
  def init
7
8
  require_relative "tagged_logging/broadcasting"
9
+
10
+ nil
8
11
  end
9
12
  module_function :init
10
13
  end
@@ -3,7 +3,7 @@
3
3
  module Activesupport
4
4
  module TaggedLogging
5
5
  module Version
6
- VERSION = "1.0.0"
6
+ VERSION = "2.0.0"
7
7
  end
8
8
  end
9
9
  end
@@ -2,47 +2,33 @@
2
2
  require "active_support/version"
3
3
  require "version_gem"
4
4
 
5
- # This library
5
+ # This library's version
6
6
  require_relative "activesupport/tagged_logging/version"
7
7
 
8
- # This gem doesn't do anything unless Rails is < v8
9
- if ActiveSupport.version < "8"
10
- # Loads supporting features from Rails v5, 6, or 7
11
- require "active_support/core_ext/module/delegation"
12
- require "active_support/core_ext/object/blank"
13
-
14
- # Require the extracted-from-Rails-8 ActiveSupport::Logger
15
- require "activesupport-logger"
16
-
17
- # Require the original tagged logging from whatever version of Rails is loaded,
18
- # so that it will be properly monkey patched.
19
- require "active_support/tagged_logging"
20
-
21
- # !!ORDER MATTERS!!
22
- #
23
- # Extracted from:
24
- # https://github.com/rails/rails/blob/6b7b019e07fcea00ab448ff772402a9ff7614f9e/activesupport/lib/active_support/isolated_execution_state.rb
25
- # Compare SHA with latest commit to check for changes:
26
- # https://github.com/rails/rails/blob/main/activesupport/lib/active_support/isolated_execution_state.rb
27
- require_relative "activesupport/isolated_execution_state"
28
-
29
- # Extracted from:
30
- # https://github.com/rails/rails/blob/592a52b9370df79787d74b1bac9b201891c45054/activesupport/lib/active_support/tagged_logging.rb
31
- # Compare SHA with latest commit to check for changes:
32
- # https://github.com/rails/rails/blob/main/activesupport/lib/active_support/tagged_logging.rb
33
- #
34
- # All this reloading might print warnings about redefined methods, and this is expected.
35
- # Technically it might even break things, but we don't expect it to, and YMMV.
36
- require_relative "activesupport/tagged_logging"
37
-
38
- # If you want to use the fix in the PR, run:
39
- # ActiveSupport::FixPr53105.init
40
- # See: https://github.com/rails/rails/pull/53105/files
41
- require_relative "activesupport/fix_pr_53105"
42
-
43
- # Fallback to the original
44
- require "active_support/tagged_logging"
45
- end
8
+ # Loads supporting features from Rails v5, 6, 7, or 8
9
+ require "active_support/core_ext/module/delegation"
10
+ require "active_support/core_ext/object/blank"
11
+
12
+ # Require the extracted-from-Rails-8 ActiveSupport::BroadcastLogger
13
+ # It will handle properly loading the extracted-from-Rails-8 ActiveSupport::Logger
14
+ require "activesupport-broadcast_logger"
15
+
16
+ # !!ORDER MATTERS!!
17
+ #
18
+ # Extracted from:
19
+ # https://github.com/rails/rails/blob/592a52b9370df79787d74b1bac9b201891c45054/activesupport/lib/active_support/tagged_logging.rb
20
+ # which at the time was the latest version of the file on `main` branch.
21
+ # Compare SHA with latest commit to the same file on `main` to check for changes:
22
+ # https://github.com/rails/rails/blob/main/activesupport/lib/active_support/tagged_logging.rb
23
+ #
24
+ # All this reloading might print warnings about redefined methods, and this is expected.
25
+ # Technically it might even break things, but we don't expect it to, and YMMV.
26
+ require_relative "activesupport/tagged_logging"
27
+
28
+ # If you want to use the fix in the PR, run:
29
+ # Activesupport::FixPr53105.init
30
+ # See: https://github.com/rails/rails/pull/53105/files
31
+ require_relative "activesupport/fix_pr_53105"
46
32
 
47
33
  # Namespace for the Version of this gem (and nothing else)
48
34
  module Activesupport
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activesupport-tagged_logging
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Boling
@@ -36,8 +36,76 @@ cert_chain:
36
36
  I5o+DRfXQHqKucx1ldFHvI2rE/kSCWqGTHN2eyu1sqCPeOoIMxrltJhaejKPkxqj
37
37
  zaF9Og==
38
38
  -----END CERTIFICATE-----
39
- date: 2024-10-10 00:00:00.000000000 Z
39
+ date: 2024-11-21 00:00:00.000000000 Z
40
40
  dependencies:
41
+ - !ruby/object:Gem::Dependency
42
+ name: logger
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.6'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 1.6.1
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '1.6'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 1.6.1
61
+ - !ruby/object:Gem::Dependency
62
+ name: mutex_m
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '0.1'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0.1'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rdoc
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '6.8'
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: 6.8.1
85
+ type: :runtime
86
+ prerelease: false
87
+ version_requirements: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: '6.8'
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: 6.8.1
95
+ - !ruby/object:Gem::Dependency
96
+ name: stringio
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: 0.0.2
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: 0.0.2
41
109
  - !ruby/object:Gem::Dependency
42
110
  name: activesupport
43
111
  requirement: !ruby/object:Gem::Requirement
@@ -52,26 +120,46 @@ dependencies:
52
120
  - - ">="
53
121
  - !ruby/object:Gem::Version
54
122
  version: '5.2'
123
+ - !ruby/object:Gem::Dependency
124
+ name: activesupport-broadcast_logger
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '2.0'
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 2.0.0
133
+ type: :runtime
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '2.0'
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 2.0.0
55
143
  - !ruby/object:Gem::Dependency
56
144
  name: activesupport-logger
57
145
  requirement: !ruby/object:Gem::Requirement
58
146
  requirements:
59
147
  - - "~>"
60
148
  - !ruby/object:Gem::Version
61
- version: '1.0'
149
+ version: '2.0'
62
150
  - - ">="
63
151
  - !ruby/object:Gem::Version
64
- version: 1.0.1
152
+ version: 2.0.0
65
153
  type: :runtime
66
154
  prerelease: false
67
155
  version_requirements: !ruby/object:Gem::Requirement
68
156
  requirements:
69
157
  - - "~>"
70
158
  - !ruby/object:Gem::Version
71
- version: '1.0'
159
+ version: '2.0'
72
160
  - - ">="
73
161
  - !ruby/object:Gem::Version
74
- version: 1.0.1
162
+ version: 2.0.0
75
163
  - !ruby/object:Gem::Dependency
76
164
  name: version_gem
77
165
  requirement: !ruby/object:Gem::Requirement
@@ -101,7 +189,7 @@ dependencies:
101
189
  version: '0.9'
102
190
  - - ">="
103
191
  - !ruby/object:Gem::Version
104
- version: 0.9.34
192
+ version: 0.9.37
105
193
  type: :development
106
194
  prerelease: false
107
195
  version_requirements: !ruby/object:Gem::Requirement
@@ -111,7 +199,7 @@ dependencies:
111
199
  version: '0.9'
112
200
  - - ">="
113
201
  - !ruby/object:Gem::Version
114
- version: 0.9.34
202
+ version: 0.9.37
115
203
  - !ruby/object:Gem::Dependency
116
204
  name: yard-junk
117
205
  requirement: !ruby/object:Gem::Requirement
@@ -135,7 +223,7 @@ dependencies:
135
223
  version: '1.0'
136
224
  - - ">="
137
225
  - !ruby/object:Gem::Version
138
- version: 1.0.2
226
+ version: 1.0.4
139
227
  type: :development
140
228
  prerelease: false
141
229
  version_requirements: !ruby/object:Gem::Requirement
@@ -145,35 +233,55 @@ dependencies:
145
233
  version: '1.0'
146
234
  - - ">="
147
235
  - !ruby/object:Gem::Version
148
- version: 1.0.2
236
+ version: 1.0.4
149
237
  - !ruby/object:Gem::Dependency
150
- name: method_source
238
+ name: appraisal
151
239
  requirement: !ruby/object:Gem::Requirement
152
240
  requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: '2.5'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: '2.5'
251
+ - !ruby/object:Gem::Dependency
252
+ name: minitest
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: '5.25'
153
258
  - - ">="
154
259
  - !ruby/object:Gem::Version
155
- version: 1.1.0
260
+ version: 5.25.1
156
261
  type: :development
157
262
  prerelease: false
158
263
  version_requirements: !ruby/object:Gem::Requirement
159
264
  requirements:
265
+ - - "~>"
266
+ - !ruby/object:Gem::Version
267
+ version: '5.25'
160
268
  - - ">="
161
269
  - !ruby/object:Gem::Version
162
- version: 1.1.0
270
+ version: 5.25.1
163
271
  - !ruby/object:Gem::Dependency
164
272
  name: rake
165
273
  requirement: !ruby/object:Gem::Requirement
166
274
  requirements:
167
275
  - - ">="
168
276
  - !ruby/object:Gem::Version
169
- version: '10'
277
+ version: '13'
170
278
  type: :development
171
279
  prerelease: false
172
280
  version_requirements: !ruby/object:Gem::Requirement
173
281
  requirements:
174
282
  - - ">="
175
283
  - !ruby/object:Gem::Version
176
- version: '10'
284
+ version: '13'
177
285
  - !ruby/object:Gem::Dependency
178
286
  name: rspec
179
287
  requirement: !ruby/object:Gem::Requirement
@@ -209,69 +317,81 @@ dependencies:
209
317
  - !ruby/object:Gem::Version
210
318
  version: 1.0.6
211
319
  - !ruby/object:Gem::Dependency
212
- name: rubocop-lts
320
+ name: test-unit
213
321
  requirement: !ruby/object:Gem::Requirement
214
322
  requirements:
215
323
  - - "~>"
216
324
  - !ruby/object:Gem::Version
217
- version: '10.1'
325
+ version: '3.6'
326
+ - - ">="
327
+ - !ruby/object:Gem::Version
328
+ version: 3.6.2
218
329
  type: :development
219
330
  prerelease: false
220
331
  version_requirements: !ruby/object:Gem::Requirement
221
332
  requirements:
222
333
  - - "~>"
223
334
  - !ruby/object:Gem::Version
224
- version: '10.1'
335
+ version: '3.6'
336
+ - - ">="
337
+ - !ruby/object:Gem::Version
338
+ version: 3.6.2
225
339
  - !ruby/object:Gem::Dependency
226
- name: rubocop-packaging
340
+ name: rubocop-lts
227
341
  requirement: !ruby/object:Gem::Requirement
228
342
  requirements:
229
343
  - - "~>"
230
344
  - !ruby/object:Gem::Version
231
- version: '0.5'
345
+ version: '18.2'
232
346
  - - ">="
233
347
  - !ruby/object:Gem::Version
234
- version: 0.5.2
348
+ version: 18.2.1
235
349
  type: :development
236
350
  prerelease: false
237
351
  version_requirements: !ruby/object:Gem::Requirement
238
352
  requirements:
239
353
  - - "~>"
240
354
  - !ruby/object:Gem::Version
241
- version: '0.5'
355
+ version: '18.2'
242
356
  - - ">="
243
357
  - !ruby/object:Gem::Version
244
- version: 0.5.2
358
+ version: 18.2.1
245
359
  - !ruby/object:Gem::Dependency
246
- name: rubocop-rspec
360
+ name: rubocop-packaging
247
361
  requirement: !ruby/object:Gem::Requirement
248
362
  requirements:
249
363
  - - "~>"
250
364
  - !ruby/object:Gem::Version
251
- version: '3.0'
365
+ version: '0.5'
366
+ - - ">="
367
+ - !ruby/object:Gem::Version
368
+ version: 0.5.2
252
369
  type: :development
253
370
  prerelease: false
254
371
  version_requirements: !ruby/object:Gem::Requirement
255
372
  requirements:
256
373
  - - "~>"
257
374
  - !ruby/object:Gem::Version
258
- version: '3.0'
375
+ version: '0.5'
376
+ - - ">="
377
+ - !ruby/object:Gem::Version
378
+ version: 0.5.2
259
379
  - !ruby/object:Gem::Dependency
260
- name: standard
380
+ name: rubocop-rspec
261
381
  requirement: !ruby/object:Gem::Requirement
262
382
  requirements:
263
383
  - - "~>"
264
384
  - !ruby/object:Gem::Version
265
- version: '1.40'
385
+ version: '3.0'
266
386
  type: :development
267
387
  prerelease: false
268
388
  version_requirements: !ruby/object:Gem::Requirement
269
389
  requirements:
270
390
  - - "~>"
271
391
  - !ruby/object:Gem::Version
272
- version: '1.40'
273
- description: Rails v8 ActiveSupport::TaggedLogging backported to Rails v5.2+ & Ruby
274
- 2.7+
392
+ version: '3.0'
393
+ description: Rails v8 ActiveSupport::TaggedLogging, fixed & backported to Rails v5.2+
394
+ & Ruby 2.7+
275
395
  email:
276
396
  - peter.boling@gmail.com
277
397
  executables: []
@@ -286,7 +406,6 @@ files:
286
406
  - SECURITY.md
287
407
  - lib/activesupport-tagged_logging.rb
288
408
  - lib/activesupport/fix_pr_53105.rb
289
- - lib/activesupport/isolated_execution_state.rb
290
409
  - lib/activesupport/tagged_logging.rb
291
410
  - lib/activesupport/tagged_logging/broadcasting.rb
292
411
  - lib/activesupport/tagged_logging/version.rb
@@ -295,10 +414,10 @@ licenses:
295
414
  - MIT
296
415
  metadata:
297
416
  homepage_uri: https://github.com/pboling/activesupport-tagged_logging
298
- source_code_uri: https://github.com/pboling/activesupport-tagged_logging/tree/v1.0.0
299
- changelog_uri: https://github.com/pboling/activesupport-tagged_logging/blob/v1.0.0/CHANGELOG.md
417
+ source_code_uri: https://github.com/pboling/activesupport-tagged_logging/tree/v2.0.0
418
+ changelog_uri: https://github.com/pboling/activesupport-tagged_logging/blob/v2.0.0/CHANGELOG.md
300
419
  bug_tracker_uri: https://github.com/pboling/activesupport-tagged_logging/issues
301
- documentation_uri: https://www.rubydoc.info/gems/activesupport-tagged_logging/1.0.0
420
+ documentation_uri: https://www.rubydoc.info/gems/activesupport-tagged_logging/2.0.0
302
421
  wiki_uri: https://github.com/pboling/activesupport-tagged_logging/wiki
303
422
  funding_uri: https://liberapay.com/pboling
304
423
  rubygems_mfa_required: 'true'
@@ -317,8 +436,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
317
436
  - !ruby/object:Gem::Version
318
437
  version: '0'
319
438
  requirements: []
320
- rubygems_version: 3.5.20
439
+ rubygems_version: 3.5.23
321
440
  signing_key:
322
441
  specification_version: 4
323
- summary: Rails v8 ActiveSupport::TaggedLogging backported to Rails v5.2+ & Ruby 2.7+
442
+ summary: Rails v8 ActiveSupport::TaggedLogging, fixed & backported to Rails v5.2+
443
+ & Ruby 2.7+
324
444
  test_files: []
metadata.gz.sig CHANGED
Binary file
@@ -1,75 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ActiveSupport
4
- module IsolatedExecutionState # :nodoc:
5
- @isolation_level = nil
6
-
7
- Thread.attr_accessor(:active_support_execution_state)
8
- Fiber.attr_accessor(:active_support_execution_state)
9
-
10
- class << self
11
- attr_reader :isolation_level, :scope
12
-
13
- def isolation_level=(level)
14
- return if level == @isolation_level
15
-
16
- unless %i(thread fiber).include?(level)
17
- raise ArgumentError, "isolation_level must be `:thread` or `:fiber`, got: `#{level.inspect}`"
18
- end
19
-
20
- clear if @isolation_level
21
-
22
- @scope =
23
- case level
24
- when :thread then Thread
25
- when :fiber then Fiber
26
- end
27
-
28
- @isolation_level = level
29
- end
30
-
31
- def unique_id
32
- self[:__id__] ||= Object.new
33
- end
34
-
35
- def [](key)
36
- state[key]
37
- end
38
-
39
- def []=(key, value)
40
- state[key] = value
41
- end
42
-
43
- def key?(key)
44
- state.key?(key)
45
- end
46
-
47
- def delete(key)
48
- state.delete(key)
49
- end
50
-
51
- def clear
52
- state.clear
53
- end
54
-
55
- def context
56
- scope.current
57
- end
58
-
59
- def share_with(other)
60
- # Action Controller streaming spawns a new thread and copy thread locals.
61
- # We do the same here for backward compatibility, but this is very much a hack
62
- # and streaming should be rethought.
63
- context.active_support_execution_state = other.active_support_execution_state.dup
64
- end
65
-
66
- private
67
-
68
- def state
69
- context.active_support_execution_state ||= {}
70
- end
71
- end
72
-
73
- self.isolation_level = :thread
74
- end
75
- end