activerecord-transactionable 3.0.1 → 3.0.3

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: b7d5f0d70200bcd62ca45dd9639614241ad9922c69e26e5e60db1e8c19724ce6
4
- data.tar.gz: de2e9d597d44673930c041d7765178e901dceb540461badcde91370b1576e22a
3
+ metadata.gz: e51681be44857d8712382ad19341412547a6c5ed576389c30fdd3b9972ef6570
4
+ data.tar.gz: 33923a34222e74d7e1a727f9ef254c4f3f39645d1861bb5ad3ef92df24d046a9
5
5
  SHA512:
6
- metadata.gz: 29aca93fae0610d28954de9fd702d0df342445ff51b70849d4fdea3d18618e818a0cf16b87f800d67519b9719f746786492698595c1ae99fab6b9f61c3945281
7
- data.tar.gz: efe950e407b33d34189abeac8aa1c17e527f29bb2c9c331843fac698f6a017792f8263ad65ac151e47bc718dd429de070a31dfe38115461d214d2db9a0d3151d
6
+ metadata.gz: e7887778fc6e41dc4c8fa912fc5905973c80e0878dbc0ba1418da7e9ecd4ee5d485e9b50b67101a93199a30ee9f555d7aca13cd6d8443e5ab924f5cc6b7750df
7
+ data.tar.gz: 983f1379a536d71f34eeaab8a31be4aa3bcd746051332ae890efe2b8465d3129f9fa8de2c38e61e531180ce9818338f0eb64998435cc561f7a0eedeaef1c6f33
checksums.yaml.gz.sig ADDED
Binary file
data/CONTRIBUTING.md CHANGED
@@ -1,26 +1,47 @@
1
1
  ## Contributing
2
2
 
3
- Bug reports and pull requests are welcome on GitHub at [https://github.com/pboling/activerecord-transactionable][source]. This project is
4
- intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to
5
- the [code of conduct][conduct].
6
-
7
- To submit a patch, please fork the project and create a patch with
8
- tests. Once you're happy with it send a pull request!
3
+ Bug reports and pull requests are welcome on GitHub at [https://github.com/pboling/activerecord-transactionable][🚎src-main]
4
+ . This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to
5
+ the [code of conduct][🤝conduct].
6
+
7
+ To submit a patch, please fork the project and create a patch with tests. Once you're happy with it send a pull request
8
+ and post a message to the [gitter chat][🏘chat].
9
+
10
+ ## Release
11
+
12
+ To release a new version:
13
+
14
+ 1. Run `bin/setup && bin/rake` as a tests, coverage, & linting sanity check
15
+ 2. Update the version number in `version.rb`
16
+ 3. Run `bin/setup && bin/rake` again as a secondary check, and to update `Gemfile.lock`
17
+ 4. Run `git commit -am "🔖 Prepare release v<VERSION>"` to commit the changes
18
+ 5. Run `git push` to trigger the final CI pipeline before release, & merge PRs
19
+ a. NOTE: Remember to [check the build][🧪build]!
20
+ 6. Run `git checkout main` (Or whichever branch is considered `trunk`, e.g. `master`)
21
+ 7. Run `git pull origin main` to ensure you will release the latest trunk code.
22
+ 8. Set `SOURCE_DATE_EPOCH` so `rake build` and `rake release` use same timestamp, and generate same checksums
23
+ a. Run `export SOURCE_DATE_EPOCH=$EPOCHSECONDS`
24
+ 9. Run `bundle exec rake build`
25
+ 10. Run [`bin/checksums`](https://github.com/rubygems/guides/pull/325) to create SHA-256 and SHA-512 checksums
26
+ a. Checksums will be committed automatically by the script, but not pushed
27
+ 11. Run `bundle exec rake release` which will create a git tag for the version,
28
+ push git commits and tags, and push the `.gem` file to [rubygems.org][💎rubygems]
29
+
30
+ NOTE: You will need to have a public key in `certs/`, and list your cert in the
31
+ `gemspec`, in order to sign the new release.
32
+ See: [RubyGems Security Guide][🔒️rubygems-security-guide]
9
33
 
10
34
  ## Contributors
11
35
 
12
- [![Contributors](https://contrib.rocks/image?repo=pboling/activerecord-transactionable)][contributors]
13
-
14
- Made with [contributors-img][contrib-rocks].
15
-
16
- [comment]: <> (Following links are used by README, CONTRIBUTING)
17
-
18
- [conduct]: https://github.com/pboling/activerecord-transactionable/blob/master/CODE_OF_CONDUCT.md
19
-
20
- [contrib-rocks]: https://contrib.rocks
21
-
22
- [contributors]: https://github.com/pboling/activerecord-transactionable/graphs/contributors
36
+ [![Contributors](https://contrib.rocks/image?repo=pboling/activerecord-transactionable)][🖐contributors]
23
37
 
24
- [comment]: <> (Following links are used by README, CONTRIBUTING, Homepage)
38
+ Made with [contributors-img][🖐contrib-rocks].
25
39
 
26
- [source]: https://github.com/pboling/activerecord-transactionable/
40
+ [🧪build]: https://github.com/pboling/activerecord-transactionable/actions
41
+ [🏘chat]: https://matrix.to/#/#pboling_activerecord-transactionable:gitter.im
42
+ [🤝conduct]: https://github.com/pboling/activerecord-transactionable/blob/main/CODE_OF_CONDUCT.md
43
+ [🖐contrib-rocks]: https://contrib.rocks
44
+ [🖐contributors]: https://github.com/pboling/activerecord-transactionable/graphs/contributors
45
+ [💎rubygems]: https://rubygems.org
46
+ [🔒️rubygems-security-guide]: https://guides.rubygems.org/security/#building-gems
47
+ [🚎src-main]: https://github.com/pboling/activerecord-transactionable
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016 - 2018, 2021 Peter H. Boling
3
+ Copyright (c) 2016-2018, 2021-2022, 2024 Peter H. Boling (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
@@ -1,16 +1,69 @@
1
1
  # Activerecord::Transactionable
2
2
 
3
+ <div id="badges">
4
+
5
+ [![CI Build][🚎dl-cwfi]][🚎dl-cwf]
6
+ [![Test Coverage][🔑cc-covi]][🔑cc-cov]
7
+ [![Maintainability][🔑cc-mnti]][🔑cc-mnt]
8
+ [![Depfu][🔑depfui]][🔑depfu]
9
+
10
+ [🚎dl-cwf]: https://github.com/pboling/activerecord-transactionable/actions/workflows/current.yml
11
+ [🚎dl-cwfi]: https://github.com/pboling/activerecord-transactionable/actions/workflows/current.yml/badge.svg
12
+
13
+ [comment]: <> ( 🔑 KEYED LINKS )
14
+
15
+ [🔑cc-mnt]: https://codeclimate.com/github/pboling/activerecord-transactionable/maintainability
16
+ [🔑cc-mnti]: https://api.codeclimate.com/v1/badges/41fa99881cfe6d45e7e5/maintainability
17
+ [🔑cc-cov]: https://codeclimate.com/github/pboling/activerecord-transactionable/test_coverage
18
+ [🔑cc-covi]: https://api.codeclimate.com/v1/badges/41fa99881cfe6d45e7e5/test_coverage
19
+ [🔑depfu]: https://depfu.com/github/pboling/activerecord-transactionable?project_id=2653
20
+ [🔑depfui]: https://badges.depfu.com/badges/d570491bac0ad3b0b65deb3c82028327/count.svg
21
+
22
+ -----
23
+
24
+ [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay]
25
+ [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor]
26
+ <span class="badge-buymeacoffee">
27
+ <a href="https://ko-fi.com/O5O86SNP4" target='_blank' title="Donate to my FLOSS or refugee efforts at ko-fi.com"><img src="https://img.shields.io/badge/buy%20me%20coffee-donate-yellow.svg" alt="Buy me coffee donation button" /></a>
28
+ </span>
29
+ <span class="badge-patreon">
30
+ <a href="https://patreon.com/galtzo" title="Donate to my FLOSS or refugee efforts using Patreon"><img src="https://img.shields.io/badge/patreon-donate-yellow.svg" alt="Patreon donate button" /></a>
31
+ </span>
32
+
33
+ </div>
34
+
35
+ [⛳liberapay-img]: https://img.shields.io/liberapay/patrons/pboling.svg?logo=liberapay
36
+ [⛳liberapay]: https://liberapay.com/pboling/donate
37
+ [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
38
+ [🖇sponsor]: https://github.com/sponsors/pboling
39
+
3
40
  Provides a method, `transaction_wrapper` at the class and instance levels that can be used instead of `ActiveRecord#transaction`. Enables you to do transactions properly, with custom rescues and retry, including with or without locking.
4
41
 
5
- | Project | Activerecord::Transactionable |
6
- |--------------------------- |--------------------------- |
7
- | name, license, docs | [`activerecord-transactionable`][rubygems] [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)][license-ref] [![RubyDoc.info](https://img.shields.io/badge/documentation-rubydoc-brightgreen.svg?style=flat)][documentation] |
8
- | version & downloads | [![Version](https://img.shields.io/gem/v/activerecord-transactionable.svg)][rubygems] [![Total Downloads](https://img.shields.io/gem/dt/activerecord-transactionable.svg)][rubygems] [![Downloads Today](https://img.shields.io/gem/rd/activerecord-transactionable.svg)][rubygems] [![Homepage](https://img.shields.io/badge/source-github-brightgreen.svg?style=flat)][source] |
9
- | dependencies & linting | [![Depfu](https://badges.depfu.com/badges/d570491bac0ad3b0b65deb3c82028327/count.svg)][depfu] [![lint status](https://github.com/pboling/activerecord-transactionable/actions/workflows/style.yml/badge.svg)][actions] |
10
- | unit tests | [![supported rubies](https://github.com/pboling/activerecord-transactionable/actions/workflows/supported.yml/badge.svg)][actions] [![unsupported status](https://github.com/pboling/activerecord-transactionable/actions/workflows/unsupported.yml/badge.svg)][actions] |
11
- | coverage & maintainability | [![Test Coverage](https://api.codeclimate.com/v1/badges/41fa99881cfe6d45e7e5/test_coverage)][climate_coverage] [![codecov](https://codecov.io/gh/pboling/activerecord-transactionable/branch/master/graph/badge.svg?token=4ZNAWNxrf9)][codecov_coverage] [![Maintainability](https://api.codeclimate.com/v1/badges/41fa99881cfe6d45e7e5/maintainability)][climate_maintainability] [![Maintenance Policy](https://img.shields.io/badge/maintenance-policy-brightgreen.svg?style=flat)][maintenancee_policy] |
12
- | resources | [![Discussion](https://img.shields.io/badge/discussions-github-brightgreen.svg?style=flat)][gh_discussions] [![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) [![Join the chat at https://gitter.im/pboling/activerecord-transactionable](https://badges.gitter.im/Join%20Chat.svg)][chat] [![Blog](https://img.shields.io/badge/blog-railsbling-brightgreen.svg?style=flat)][blogpage] |
13
- | Spread ~♡ⓛⓞⓥⓔ♡~ | [![Open Source Helpers](https://www.codetriage.com/pboling/activerecord-transactionable/badges/users.svg)][code_triage] [![Liberapay Patrons](https://img.shields.io/liberapay/patrons/pboling.svg?logo=liberapay)][liberapay_donate] [![Sponsor Me](https://img.shields.io/badge/sponsor-pboling.svg?style=social&logo=github)][gh_sponsors] [🌏][aboutme] [👼][angelme] [💻][coderme] [🌹][politicme] [![Tweet @ Peter][followme-img]][tweetme] |
42
+ | Project | Activerecord::Transactionable |
43
+ |-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
44
+ | install | `bundle add activerecord-transactionable` |
45
+ | compatibility | Ruby >= 2.5 |
46
+ | license | [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) |
47
+ | download rank | [![Downloads Today](https://img.shields.io/gem/rd/activerecord-transactionable.svg)](https://github.com/pboling/activerecord-transactionable) |
48
+ | version | [![Version](https://img.shields.io/gem/v/activerecord-transactionable.svg)](https://rubygems.org/gems/activerecord-transactionable) |
49
+ | code triage | [![Open Source Helpers](https://www.codetriage.com/pboling/activerecord-transactionable/badges/users.svg)](https://www.codetriage.com/pboling/activerecord-transactionable) |
50
+ | documentation | [on RDoc.info][documentation] |
51
+ | live chat | [![Join the chat at https://matrix.to/#/#pboling_activerecord-transactionable:gitter.im](https://badges.gitter.im/Join%20Chat.svg)](https://matrix.to/#/#pboling_activerecord-transactionable:gitter.im?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) |
52
+ | 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) |
53
+ | Spread ~♡ⓛⓞⓥⓔ♡~ | [🌏](https://about.me/peter.boling), [👼](https://angel.co/peter-boling), [![Liberapay Patrons][⛳liberapay-img]][⛳liberapay] [![Follow Me on LinkedIn][🖇linkedin-img]][🖇linkedin] [![Find Me on WellFound:][✌️wellfound-img]][✌️wellfound] [![My Blog][🚎blog-img]][🚎blog] [![Follow Me on Twitter][🐦twitter-img]][🐦twitter] |
54
+
55
+ [documentation]: https://rubydoc.info/github/pboling/activerecord-transactionable
56
+ [🖇linkedin]: http://www.linkedin.com/in/peterboling
57
+ [🖇linkedin-img]: https://img.shields.io/badge/PeterBoling-blue?style=plastic&logo=linkedin
58
+ [✌️wellfound]: https://angel.co/u/peter-boling
59
+ [✌️wellfound-img]: https://img.shields.io/badge/peter--boling-orange?style=plastic&logo=angellist
60
+ [🐦twitter]: http://twitter.com/intent/user?screen_name=galtzo
61
+ [🐦twitter-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow%20@galtzo
62
+ [🚎blog]: http://www.railsbling.com/tags/oauth2/
63
+ [🚎blog-img]: https://img.shields.io/badge/blog-railsbling-brightgreen.svg?style=flat
64
+ [my🧪lab]: https://gitlab.com/pboling
65
+ [my🧊berg]: https://codeberg.org/pboling
66
+ [my🛖hut]: https://sr.ht/~galtzo/
14
67
 
15
68
  Useful as an example of correct behavior for wrapping transactions.
16
69
 
@@ -20,10 +73,12 @@ NOTE: Rails' transactions are per-database connection, not per-model, nor per-in
20
73
  ## Upgrading to Version 2
21
74
 
22
75
  In version 1 the `transaction_wrapper` returned `true` or `false`. In version 2 it returns an instance of `Activerecord::Transactionable::Result`, which has a `value`, and three methods:
76
+
23
77
  ```ruby
78
+
24
79
  args = {}
25
80
  result = transaction_wrapper(**args) do
26
- something
81
+ # some code that might fail here
27
82
  end
28
83
  result.fail?
29
84
  result.success?
@@ -60,14 +115,14 @@ Or install it yourself as:
60
115
 
61
116
  ## Compatibility
62
117
 
63
- Targeted ruby compatibility is non-EOL versions of Ruby, currently 2.6, 2.7, and
64
- 3.0. Ruby is limited to 2.5+ in the gemspec, and when it changes there will be a major release.
118
+ Targeted ruby compatibility is non-EOL versions of Ruby, currently 2.6, 2.7, 3.0, 3.1, 3.2, 3.3.
119
+ Ruby is limited to 2.5+ in the gemspec, and when it changes there will be a major release.
65
120
  The `master` branch currently targets 3.0.x releases.
66
121
 
67
- | Ruby OAuth Version | Maintenance Branch | Officially Supported Rubies | Unofficially Supported Rubies |
68
- |--------------------- | ------------------ | ------------------------------------------- | ----------------------------- |
69
- | 3.0.x | `master` | 2.6, 2.7, 3.0 | 2.5 |
70
- | 2.0.x | `v2-maintenance` | 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 3.0 | |
122
+ | Ruby OAuth Version | Maintenance Branch | Officially Supported Rubies | Unofficially Supported Rubies |
123
+ |--------------------|--------------------|----------------------------------------|-------------------------------|
124
+ | 3.0.x | `master` | 2.6, 2.7, 3.0, 3.1, 3.2, 3.3 | 2.5 |
125
+ | 2.0.x | `v2-maintenance` | 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 3.0 | |
71
126
 
72
127
  NOTE: 2.0.5 is anticipated as last release of the 2.x series.
73
128
 
@@ -124,7 +179,7 @@ If you need to know if the transaction succeeded:
124
179
  ```ruby
125
180
  car = Car.new(name: nil)
126
181
  result = car.transaction_wrapper(lock: true) do # uses ActiveRecord's with_lock
127
- car.save!
182
+ car.save!
128
183
  end
129
184
  result # => an instance of Activerecord::Transactionable::Result
130
185
  result.success? # => true or false
@@ -135,14 +190,14 @@ result.success? # => true or false
135
190
  ```ruby
136
191
  @client = Client.find(params[:id])
137
192
  transaction_result = @client.transaction_wrapper(lock: true) do
138
- @client.assign_attributes(client_params)
139
- @client.save!
193
+ @client.assign_attributes(client_params)
194
+ @client.save!
140
195
  end
141
196
  if transaction_result.success?
142
- render :show, locals: { client: @client }, status: :ok
197
+ render :show, locals: {client: @client}, status: :ok
143
198
  else
144
199
  # Something prevented update, transaction_result.to_h will have all the available details
145
- render json: { record_errors: @client.errors, transaction_result: transaction_result.to_h }, status: :unprocessable_entity
200
+ render json: {record_errors: @client.errors, transaction_result: transaction_result.to_h}, status: :unprocessable_entity
146
201
  end
147
202
  ```
148
203
 
@@ -202,16 +257,12 @@ Activerecord::Transactionable::ClassMethods.class_eval do
202
257
  end
203
258
  ```
204
259
 
205
- ## More Information
260
+ ## 🪇 Code of Conduct
206
261
 
207
- * RubyDoc Documentation: [![RubyDoc.info](https://img.shields.io/badge/documentation-rubydoc-brightgreen.svg?style=flat)][documentation]
208
- * GitHub Discussions: [![Discussion](https://img.shields.io/badge/discussions-github-brightgreen.svg?style=flat)][gh_discussions]
209
- * Live Chat on Gitter: [![Join the chat at https://gitter.im/pboling/activerecord-transactionable](https://badges.gitter.im/Join%20Chat.svg)][chat]
210
- * Maintainer's Blog: [![Blog](https://img.shields.io/badge/blog-railsbling-brightgreen.svg?style=flat)][blogpage]
262
+ Everyone interacting in this project's codebases, issue trackers,
263
+ chat rooms and mailing lists is expected to follow the [code of conduct][🪇conduct].
211
264
 
212
- ## Code of Conduct
213
-
214
- Everyone interacting with this project's code, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/pboling/activerecord-transactionable/blob/master/CODE_OF_CONDUCT.md).
265
+ [🪇conduct]: CODE_OF_CONDUCT.md
215
266
 
216
267
  ## Development
217
268
 
@@ -219,110 +270,123 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
219
270
 
220
271
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
221
272
 
222
- ## Contributing
223
-
224
- See [CONTRIBUTING.md][contributing]
273
+ ## 🛞 DVCS
225
274
 
226
- ## Contributors
275
+ This project does not trust any one version control system,
276
+ so it abides the principles of ["Distributed Version Control Systems"][💎d-in-dvcs]
227
277
 
228
- [![Contributors](https://contrib.rocks/image?repo=pboling/activerecord-transactionable)][contributors]
278
+ Find this project on:
229
279
 
230
- ## Versioning
280
+ | Any | Of | These | DVCS |
281
+ |----------------|------------------|----------------|----------------|
282
+ | [🐙hub][🐙hub] | [🧊berg][🧊berg] | [🛖hut][🛖hut] | [🧪lab][🧪lab] |
231
283
 
232
- This library aims to adhere to [Semantic Versioning 2.0.0][semver].
233
- Violations of this scheme should be reported as bugs. Specifically,
234
- if a minor or patch version is released that breaks backward
235
- compatibility, a new version should be immediately released that
236
- restores compatibility. Breaking changes to the public API will
237
- only be introduced with new major versions.
284
+ [comment]: <> ( DVCS LINKS )
238
285
 
239
- As a result of this policy, you can (and should) specify a
240
- dependency on this gem using the [Pessimistic Version Constraint][pvc] with two digits of precision.
286
+ [💎d-in-dvcs]: https://railsbling.com/posts/dvcs/put_the_d_in_dvcs/
241
287
 
242
- For example:
243
-
244
- ```ruby
245
- spec.add_dependency "activerecord-transactionable", "~> 2.0"
246
- ```
288
+ [🧊berg]: https://codeberg.org/pboling/activerecord-transactionable
289
+ [🐙hub]: https://gitlab.com/pboling/activerecord-transactionable
290
+ [🛖hut]: https://sr.ht/~galtzo/pboling/activerecord-transactionable
291
+ [🧪lab]: https://gitlab.com/pboling/activerecord-transactionable
247
292
 
248
- ## License
293
+ ## 🤝 Contributing
249
294
 
250
- * Copyright (c) 2016 - 2018, 2021 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
295
+ See [CONTRIBUTING.md][🤝contributing]
251
296
 
252
- [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)][license-ref]
297
+ [🤝contributing]: CONTRIBUTING.md
253
298
 
254
- [copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
299
+ ## 🌈 Contributors
255
300
 
256
- [license]: https://github.com/pboling/activerecord-transactionable/blob/master/LICENSE
301
+ [![Contributors][🌈contrib-rocks-img]][🐙hub-contrib]
257
302
 
258
- [semver]: http://semver.org/
303
+ Contributor tiles (GitHub only) made with [contributors-img][🌈contrib-rocks].
259
304
 
260
- [pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
305
+ Learn more about, or become one of, our 🎖 contributors on:
261
306
 
262
- [railsbling]: http://www.railsbling.com
307
+ | Any | Of | These | DVCS |
308
+ |-------------------------------------|---------------------------------------|-------------------------------------|-------------------------------------|
309
+ | [🐙hub contributors][🐙hub-contrib] | [🧊berg contributors][🧊berg-contrib] | [🛖hut contributors][🛖hut-contrib] | [🧪lab contributors][🧪lab-contrib] |
263
310
 
264
- [peterboling]: http://www.peterboling.com
311
+ [comment]: <> ( DVCS CONTRIB LINKS )
265
312
 
266
- [issues]: https://github.com/pboling/activerecord-transactionable/issues
313
+ [🌈contrib-rocks]: https://contrib.rocks
314
+ [🌈contrib-rocks-img]: https://contrib.rocks/image?repo=pboling/activerecord-transactionable
267
315
 
268
- [contributing]: https://github.com/pboling/activerecord-transactionable/blob/master/CONTRIBUTING.md
316
+ [🧊berg-contrib]: https://codeberg.org/pboling/activerecord-transactionable/activity
317
+ [🐙hub-contrib]: https://github.com/pboling/activerecord-transactionable/graphs/contributors
318
+ [🛖hut-contrib]: https://git.sr.ht/~galtzo/activerecord-transactionable/log/
319
+ [🧪lab-contrib]: https://gitlab.com/pboling/activerecord-transactionable/-/graphs/main?ref_type=heads
269
320
 
270
- [comment]: <> (Following links are used by README, CONTRIBUTING)
321
+ ## 📌 Versioning
271
322
 
272
- [contributors]: https://github.com/pboling/activerecord-transactionable/graphs/contributors
323
+ This Library adheres to [Semantic Versioning 2.0.0][📌semver].
324
+ Violations of this scheme should be reported as bugs.
325
+ Specifically, if a minor or patch version is released that breaks backward compatibility,
326
+ a new version should be immediately released that restores compatibility.
327
+ Breaking changes to the public API will only be introduced with new major versions.
273
328
 
274
- [comment]: <> (Following links are used by README, CONTRIBUTING, Homepage)
329
+ To get a better understanding of how SemVer is intended to work over a project's lifetime,
330
+ read this article from the creator of SemVer:
275
331
 
276
- [mailinglist]: http://groups.google.com/group/activerecord-transactionable-ruby
332
+ - ["Major Version Numbers are Not Sacred"][📌major-versions-not-sacred]
277
333
 
278
- [source]: https://github.com/pboling/activerecord-transactionable/
334
+ As a result of this policy, you can (and should) specify a dependency on these libraries using
335
+ the [Pessimistic Version Constraint][📌pvc] with two digits of precision.
279
336
 
280
- [comment]: <> (Following links are used by Homepage)
337
+ For example:
281
338
 
282
- [network]: https://github.com/pboling/activerecord-transactionable/network
339
+ ```ruby
340
+ spec.add_dependency("activerecord-transactionable", "~> 3.0")
341
+ ```
283
342
 
284
- [stargazers]: https://github.com/pboling/activerecord-transactionable/stargazers
343
+ [comment]: <> ( 📌 VERSIONING LINKS )
285
344
 
286
- [comment]: <> (Following links are used by README, Homepage)
345
+ [📌pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
346
+ [📌semver]: http://semver.org/
347
+ [📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
287
348
 
288
- [rubygems]: https://rubygems.org/gems/activerecord-transactionable
349
+ ## Contact
289
350
 
290
- [depfu]: https://depfu.com/github/pboling/activerecord-transactionable?project_id=2653
351
+ Author and maintainer is Peter Boling ([@pboling][gh_sponsors]).
291
352
 
292
- [actions]: https://github.com/pboling/activerecord-transactionable/actions
353
+ Feedback and questions are welcome on the [GitHub Discussions][gh_discussions] board.
293
354
 
294
- [climate_coverage]: https://codeclimate.com/github/pboling/activerecord-transactionable/test_coverage
355
+ For security-related issues see [SECURITY][security].
295
356
 
357
+ [security]: https://github.com/pboling/activerecord-transactionable/blob/master/SECURITY.md
296
358
  [gh_discussions]: https://github.com/pboling/activerecord-transactionable/discussions
359
+ [gh_sponsors]: https://github.com/sponsors/pboling
297
360
 
298
- [code_triage]: https://www.codetriage.com/pboling/activerecord-transactionable
299
-
300
- [license-ref]: https://opensource.org/licenses/MIT
301
-
302
- [codecov_coverage]: https://codecov.io/gh/pboling/activerecord-transactionable
303
-
304
- [liberapay_donate]: https://liberapay.com/pboling/donate
305
-
306
- [aboutme]: https://about.me/peter.boling
307
-
308
- [angelme]: https://angel.co/peter-boling
309
-
310
- [coderme]:http://coderwall.com/pboling
361
+ ## 📄 License
311
362
 
312
- [politicme]: https://nationalprogressiveparty.org
363
+ The gem is available as open source under the terms of
364
+ the [MIT License][📄license] [![License: MIT][📄license-img]][📄license-ref].
365
+ See [LICENSE.txt][📄license] for the official [Copyright Notice][📄copyright-notice-explainer].
313
366
 
314
- [followme-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
367
+ [comment]: <> ( 📄 LEGAL LINKS )
315
368
 
316
- [tweetme]: http://twitter.com/galtzo
369
+ [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
370
+ [📄license]: LICENSE.txt
371
+ [📄license-ref]: https://opensource.org/licenses/MIT
372
+ [📄license-img]: https://img.shields.io/badge/License-MIT-green.svg
317
373
 
318
- [documentation]: https://rubydoc.info/github/pboling/activerecord-transactionable
374
+ ### © Copyright
319
375
 
320
- [climate_maintainability]: https://codeclimate.com/github/pboling/activerecord-transactionable/maintainability
376
+ * Copyright (c) 2016-2018, 2021-2022, 2024 [Peter H. Boling][💁🏼‍♂️peterboling] of [Rails Bling][💁🏼‍♂️railsbling]
321
377
 
322
- [chat]: https://gitter.im/pboling/activerecord-transactionable?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
378
+ [comment]: <> ( 💁🏼‍♂️ PERSONAL LINKS )
323
379
 
324
- [blogpage]: http://www.railsbling.com/tags/activerecord-transactionable/
380
+ [💁🏼‍♂️aboutme]: https://about.me/peter.boling
381
+ [💁🏼‍♂️angellist]: https://angel.co/peter-boling
382
+ [💁🏼‍♂️devto]: https://dev.to/galtzo
383
+ [💁🏼‍♂️followme]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
384
+ [💁🏼‍♂️twitter]: http://twitter.com/galtzo
385
+ [💁🏼‍♂️peterboling]: http://www.peterboling.com
386
+ [💁🏼‍♂️railsbling]: http://www.railsbling.com
325
387
 
326
- [maintenancee_policy]: https://guides.rubyonrails.org/maintenance_policy.html#security-issues
388
+ [comment]: <> ( 💼 PROJECT LINKS )
327
389
 
328
- [gh_sponsors]: https://github.com/sponsors/pboling
390
+ [💼blogpage]: http://www.railsbling.com/tags/activerecord-transactionable/
391
+ [💼documentation]: http://rdoc.info/github/activerecord-transactionable/meta/frames
392
+ [💼homepage]: https://github.com/pboling/activerecord-transactionable
data/SECURITY.md CHANGED
@@ -2,13 +2,15 @@
2
2
 
3
3
  ## Supported Versions
4
4
 
5
- | Version | Supported |
6
- | ------- | ------------------ |
7
- | 3.0.x | :white_check_mark: |
8
- | 2.0.x | :white_check_mark: |
9
- | 1.0.x | :x: |
10
- | 0.0.x | :x: |
5
+ | Version | Supported |
6
+ |---------|-----------|
7
+ | 3.0.x | |
8
+ | 2.0.x | |
9
+ | 1.0.x | |
10
+ | 0.0.x | |
11
11
 
12
12
  ## Reporting a Vulnerability
13
13
 
14
- Peter Boling is the primary maintainer of this gem. Please find a way to [contact him directly](https://railsbling.com/contact) to report the issue. Include as much relevant information as possible.
14
+ Peter Boling is the primary maintainer of this gem. Please find a way
15
+ to [contact him directly](https://railsbling.com/contact) to report the issue. Include as much relevant information as
16
+ possible.
@@ -29,7 +29,7 @@ module Activerecord
29
29
  type: type,
30
30
  context: context,
31
31
  nested: nested,
32
- attempt: attempt
32
+ attempt: attempt,
33
33
  }
34
34
  if !skip_error && error
35
35
  diagnostic_data[:error] = error.class.to_s
@@ -2,6 +2,8 @@
2
2
 
3
3
  module Activerecord
4
4
  module Transactionable
5
- VERSION = "3.0.1"
5
+ module Version
6
+ VERSION = "3.0.3"
7
+ end
6
8
  end
7
9
  end