{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":542169904,"defaultBranch":"main","name":"active_job-performs","ownerLogin":"kaspth","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-09-27T15:55:59.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/350807?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1716779895.0","currentOid":""},"activityList":{"items":[{"before":"d27d2d30de10239c06870de5c33039cd5d7c5281","after":"df90ad10518b91a70cc7c5db1eb3478fcb046439","ref":"refs/heads/main","pushedAt":"2024-05-27T03:18:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Prep v0.3.1","shortMessageHtmlLink":"Prep v0.3.1"}},{"before":"a3fc305d51c63ba79d104869585305a40d6028fe","after":"d27d2d30de10239c06870de5c33039cd5d7c5281","ref":"refs/heads/main","pushedAt":"2024-05-27T03:17:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Simplify macOS platforms; we don't need the version number","shortMessageHtmlLink":"Simplify macOS platforms; we don't need the version number"}},{"before":"d9441e78c31559aa6a130f2367c225fdc0f0dbbe","after":"a3fc305d51c63ba79d104869585305a40d6028fe","ref":"refs/heads/main","pushedAt":"2024-05-27T03:07:09.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Run bundle update gauntlet, cap sqlite3 due to macOS incompatibility","shortMessageHtmlLink":"Run bundle update gauntlet, cap sqlite3 due to macOS incompatibility"}},{"before":"cd9502062fec74698da89ef823d37b5d7a99ca98","after":null,"ref":"refs/heads/conditional-enqueue","pushedAt":"2024-05-27T03:01:23.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"}},{"before":"420f8e15332fa948702ad670e95cba0ea2a8486e","after":"d9441e78c31559aa6a130f2367c225fdc0f0dbbe","ref":"refs/heads/main","pushedAt":"2024-05-27T03:01:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Allow conditional enqueues on instance level `_later` methods. (#9)\n\nThe instance level `_later` methods, like `publish_later` above, are now generated into an included module.\r\nSo in case you have a condition where you'd like to prevent the enqueue, you can override the method and call `super`:\r\n\r\n```ruby\r\nclass Post < ApplicationRecord\r\n performs def publish\r\n # …\r\n end\r\n def publish_later = some_condition? && super\r\nend\r\n```","shortMessageHtmlLink":"Allow conditional enqueues on instance level _later methods. (#9)"}},{"before":null,"after":"cd9502062fec74698da89ef823d37b5d7a99ca98","ref":"refs/heads/conditional-enqueue","pushedAt":"2024-05-27T03:00:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Allow conditional enqueues on instance level `_later` methods.\n\nThe instance level `_later` methods, like `publish_later` above, are now generated into an included module.\nSo in case you have a condition where you'd like to prevent the enqueue, you can override the method and call `super`:\n\n```ruby\nclass Post < ApplicationRecord\n performs def publish\n # …\n end\n def publish_later = some_condition? && super\nend\n```","shortMessageHtmlLink":"Allow conditional enqueues on instance level _later methods."}},{"before":"48be263d30e2aa9ef150f6fb0cb1f58c1f1cc25a","after":"420f8e15332fa948702ad670e95cba0ea2a8486e","ref":"refs/heads/main","pushedAt":"2024-05-27T02:26:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Hide lengthy logs by default, but still emit on CI","shortMessageHtmlLink":"Hide lengthy logs by default, but still emit on CI"}},{"before":"b67b88f35659ab8c0b449084316803d4d3506129","after":"48be263d30e2aa9ef150f6fb0cb1f58c1f1cc25a","ref":"refs/heads/main","pushedAt":"2024-01-14T16:28:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Remove link since it'll expire in 3 months","shortMessageHtmlLink":"Remove link since it'll expire in 3 months"}},{"before":"5e59ee871f03ba4332c0958752c7c2a9aaf45f23","after":"b67b88f35659ab8c0b449084316803d4d3506129","ref":"refs/heads/main","pushedAt":"2024-01-13T22:21:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Update bundled gems","shortMessageHtmlLink":"Update bundled gems"}},{"before":"dade7113005505625a03a5892ff301a8a5c7a454","after":"5e59ee871f03ba4332c0958752c7c2a9aaf45f23","ref":"refs/heads/main","pushedAt":"2024-01-13T22:19:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Freshen Rubies on CI","shortMessageHtmlLink":"Freshen Rubies on CI"}},{"before":"6c29ce47c87bcd9cc248e8358aab89a51d0bd380","after":"dade7113005505625a03a5892ff301a8a5c7a454","ref":"refs/heads/main","pushedAt":"2024-01-13T22:18:41.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Add @nshki quote ❤️","shortMessageHtmlLink":"Add @nshki quote ❤️"}},{"before":"3bec09745253759dfe7d9516455324d9bc26f5ea","after":null,"ref":"refs/heads/app-wide-patterns","pushedAt":"2023-12-17T17:57:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"}},{"before":"10e17ddede5a87436d33b8ce6e15a02b2b59c0a1","after":"6c29ce47c87bcd9cc248e8358aab89a51d0bd380","ref":"refs/heads/main","pushedAt":"2023-12-17T17:57:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Document and test a pattern for app-wide methods (#7)\n\n* Document and test a pattern for app-wide methods\r\n\r\nYou can do this on `ApplicationRecord`:\r\n\r\n```ruby\r\nclass ApplicationRecord < ActiveRecord::Base\r\n self.abstract_class = true\r\n\r\n # We're passing specific queues for monitoring, but you may not need or want them.\r\n performs :touch, queue_as: \"active_record.touch\"\r\n performs :update, queue_as: \"active_record.update\"\r\n performs :destroy, queue_as: \"active_record.destroy\"\r\nend\r\n```\r\n\r\n* Always UTC time so CI is happy?\r\n\r\n* Gotta love times on CI","shortMessageHtmlLink":"Document and test a pattern for app-wide methods (#7)"}},{"before":"ad4cf7c93be20976a8f3111d4a4b9d697fd9c6c1","after":"3bec09745253759dfe7d9516455324d9bc26f5ea","ref":"refs/heads/app-wide-patterns","pushedAt":"2023-12-17T17:56:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Gotta love times on CI","shortMessageHtmlLink":"Gotta love times on CI"}},{"before":"9f6918f4f8533a66168b214a932db6e4d8c32ba3","after":"ad4cf7c93be20976a8f3111d4a4b9d697fd9c6c1","ref":"refs/heads/app-wide-patterns","pushedAt":"2023-12-17T17:53:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Always UTC time so CI is happy?","shortMessageHtmlLink":"Always UTC time so CI is happy?"}},{"before":null,"after":"9f6918f4f8533a66168b214a932db6e4d8c32ba3","ref":"refs/heads/app-wide-patterns","pushedAt":"2023-12-17T17:50:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Document and test a pattern for app-wide methods\n\nYou can do this on `ApplicationRecord`:\n\n```ruby\nclass ApplicationRecord < ActiveRecord::Base\n self.abstract_class = true\n\n # We're passing specific queues for monitoring, but you may not need or want them.\n performs :touch, queue_as: \"active_record.touch\"\n performs :update, queue_as: \"active_record.update\"\n performs :destroy, queue_as: \"active_record.destroy\"\nend\n```","shortMessageHtmlLink":"Document and test a pattern for app-wide methods"}},{"before":"84d91d2d2d5cfbcc84def01ac802c6fa4003515f","after":"10e17ddede5a87436d33b8ce6e15a02b2b59c0a1","ref":"refs/heads/main","pushedAt":"2023-11-04T18:39:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Prep v0.3.0","shortMessageHtmlLink":"Prep v0.3.0"}},{"before":"13cd198cf45dade033fe379345a8a4c134c94b3f","after":"84d91d2d2d5cfbcc84def01ac802c6fa4003515f","ref":"refs/heads/main","pushedAt":"2023-11-04T18:35:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Trim Gemfile a bit now that Rails 7.1 is out","shortMessageHtmlLink":"Trim Gemfile a bit now that Rails 7.1 is out"}},{"before":"4b8b2abb8c87238ea6c808783029ec8574d3a258","after":null,"ref":"refs/heads/fix-private-chaining","pushedAt":"2023-11-04T18:33:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"}},{"before":"a08afc7c23c996ff2c87e2c290c7adf33332c44a","after":"13cd198cf45dade033fe379345a8a4c134c94b3f","ref":"refs/heads/main","pushedAt":"2023-11-04T18:33:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Fix `private performs` marking on immediate version too (#6)\n\n`private performs :some_method` should make both `:some_method` and `:some_method_later` private.\r\nBut that only works if we return an array with both method names.","shortMessageHtmlLink":"Fix private performs marking on immediate version too (#6)"}},{"before":null,"after":"4b8b2abb8c87238ea6c808783029ec8574d3a258","ref":"refs/heads/fix-private-chaining","pushedAt":"2023-11-04T18:31:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Fix `private performs` marking on immediate version too\n\n`private performs :some_method` should make both `:some_method` and `:some_method_later` private.\nBut that only works if we return an array with both method names.","shortMessageHtmlLink":"Fix private performs marking on immediate version too"}},{"before":"b71ca712ff3a5c6296b6acfc29f399e546169f2a","after":"a08afc7c23c996ff2c87e2c290c7adf33332c44a","ref":"refs/heads/main","pushedAt":"2023-11-04T18:13:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Tune requires a bit","shortMessageHtmlLink":"Tune requires a bit"}},{"before":"d52bf6029c3568b2d66c0f607db67f149e368514","after":"b71ca712ff3a5c6296b6acfc29f399e546169f2a","ref":"refs/heads/main","pushedAt":"2023-11-04T18:12:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Post isn't used before Base definition, so move it down","shortMessageHtmlLink":"Post isn't used before Base definition, so move it down"}},{"before":"790bf55f26075955fd94618ddc469440e7da22c9","after":"d52bf6029c3568b2d66c0f607db67f149e368514","ref":"refs/heads/main","pushedAt":"2023-11-04T18:11:41.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"strange Ruby person does stuff","shortMessageHtmlLink":"strange Ruby person does stuff"}},{"before":"2acbe70bdde85190840d82750c2306709c529ed8","after":"790bf55f26075955fd94618ddc469440e7da22c9","ref":"refs/heads/main","pushedAt":"2023-11-04T18:00:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Let dependabot update GitHub Actions","shortMessageHtmlLink":"Let dependabot update GitHub Actions"}},{"before":"163d5e13f351b1c3b4a5461ce2c098e2b64f2a36","after":"2acbe70bdde85190840d82750c2306709c529ed8","ref":"refs/heads/main","pushedAt":"2023-11-04T17:59:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Update CI scripts: test with Ruby 3.2, use checkout@v4, fix indentation","shortMessageHtmlLink":"Update CI scripts: test with Ruby 3.2, use checkout@v4, fix indentation"}},{"before":"629fd4879fc017f452abb03b616a0822e009d6de","after":"163d5e13f351b1c3b4a5461ce2c098e2b64f2a36","ref":"refs/heads/main","pushedAt":"2023-11-04T17:37:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Fix bulk method: suffix must go at the very end","shortMessageHtmlLink":"Fix bulk method: suffix must go at the very end"}},{"before":"25d671ce03b9e4b52de78112d50bd308ecc41f47","after":null,"ref":"refs/heads/active_record-automatic-bulk-method","pushedAt":"2023-09-03T19:42:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"}},{"before":"14d93255365d74a545458cb400401b0d5620e393","after":"629fd4879fc017f452abb03b616a0822e009d6de","ref":"refs/heads/main","pushedAt":"2023-09-03T19:42:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Active Record: automatic bulk method (#5)\n\n* Automatically a `later_bulk` method for Active Record\r\n\r\nRunning the below now automatically adds a `deliver_reminder_later_bulk` to `Invoice`:\r\n\r\n```ruby\r\nclass Invoice < ActiveRecord::Base\r\n performs def deliver_reminder\r\n touch :reminded_at\r\n end\r\nend\r\n```\r\n\r\nSo users can do `Invoice.all.deliver_reminder_later_bulk` or `Invoice.overdue.in_batches.each(&:deliver_reminder_later_bulk)`.\r\n\r\n* Make bulking use ActiveJob.perform_all_later and make it exclusive to that feature\r\n\r\n* Add in_batches test\r\n\r\n* Add some documentation","shortMessageHtmlLink":"Active Record: automatic bulk method (#5)"}},{"before":"88c7abef4900a3917953f2561bc4b93935489ec2","after":"25d671ce03b9e4b52de78112d50bd308ecc41f47","ref":"refs/heads/active_record-automatic-bulk-method","pushedAt":"2023-09-03T19:41:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Add some documentation","shortMessageHtmlLink":"Add some documentation"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEVHUxagA","startCursor":null,"endCursor":null}},"title":"Activity · kaspth/active_job-performs"}