activerecord-transactionable 3.0.1 → 3.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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