{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":483396901,"defaultBranch":"main","name":"active_record-associated_object","ownerLogin":"kaspth","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-04-19T20:18:53.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/350807?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1717349080.0","currentOid":""},"activityList":{"items":[{"before":"75989ec3466edfb276f8cd5784839812bb1b92e2","after":"1a31ff823b4d326d62f118e6020074ee55f87455","ref":"refs/heads/polymorphic-associated-objects","pushedAt":"2024-06-02T18:18:12.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":"Chop the conditional post?/comment? methods","shortMessageHtmlLink":"Chop the conditional post?/comment? methods"}},{"before":null,"after":"75989ec3466edfb276f8cd5784839812bb1b92e2","ref":"refs/heads/polymorphic-associated-objects","pushedAt":"2024-06-02T17:24:40.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":"Support Polymorphic Associated Objects\n\nSometimes there's certain behavior you'd like to share between multiple objects.\nHowever, Associated Object's design was purposefully written to only support associating with\none distinct class.\n\nThis tries to shimmy that open a bit more, so you can do:\n\n```ruby\nclass Pricing < ActiveRecord::AssociatedObject::Polymorphic\nend\n\nclass Post::Pricing < Pricing\nend\n\nclass Comment::Pricing < Pricing\nend\n```","shortMessageHtmlLink":"Support Polymorphic Associated Objects"}},{"before":"deccb7fc6271226e5f2a2b7b779da1e3a2088ecf","after":"fe37f16f0287a2fa9d1c11811ea4332e54057282","ref":"refs/heads/main","pushedAt":"2024-05-19T00:06:46.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.8.1","shortMessageHtmlLink":"Prep v0.8.1"}},{"before":"ae4122156c3759d045387de745c3948505271b83","after":null,"ref":"refs/heads/add-object-generator","pushedAt":"2024-05-19T00:05:58.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":"c1d8a2c03853e426c735fd339037a84ce70d119a","after":"deccb7fc6271226e5f2a2b7b779da1e3a2088ecf","ref":"refs/heads/main","pushedAt":"2024-05-19T00:05:55.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":"Add associated object generator (#23)\n\n* Add associated object generator\r\n\r\nRun with:\r\n `bin/rails g associated Organization::Seats`\r\n\r\nCo-authored-by: Garrett Dimon \r\n\r\n* Simplify our destination_root a bit\r\n\r\n* Chomp the plain method accessor test, not too sure if we need it\r\n\r\n* Reuse some of the naming methods and go through object reader\r\n\r\n* Let's leave this up to apps and their linter\r\n\r\n* Trim some of our methods we don't need now\r\n\r\n* Think this is a little clearer\r\n\r\n* Better, hm?\r\n\r\n* Tweak usage more\r\n\r\n* Surface in documentation\r\n\r\n---------\r\n\r\nCo-authored-by: Garrett Dimon ","shortMessageHtmlLink":"Add associated object generator (#23)"}},{"before":"46b7c416a720d6288cf6b793e0e52e5feebd1b87","after":null,"ref":"refs/heads/descriptive-missing-associated-object-error","pushedAt":"2024-05-19T00:05:41.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":"23bd3793aee8ff0f2537341bc296d4de876aa123","after":"c1d8a2c03853e426c735fd339037a84ce70d119a","ref":"refs/heads/main","pushedAt":"2024-05-19T00:05:38.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":"More descriptive error message when an associated object class is missing (#24)\n\nCo-authored-by: Garrett Dimon ","shortMessageHtmlLink":"More descriptive error message when an associated object class is mis…"}},{"before":"1f5b2b785e5e1a07697e532a720c6c052435bb2e","after":"ae4122156c3759d045387de745c3948505271b83","ref":"refs/heads/add-object-generator","pushedAt":"2024-05-19T00:05:04.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":"Surface in documentation","shortMessageHtmlLink":"Surface in documentation"}},{"before":null,"after":"46b7c416a720d6288cf6b793e0e52e5feebd1b87","ref":"refs/heads/descriptive-missing-associated-object-error","pushedAt":"2024-05-18T23:59:52.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":"More descriptive error message when an associated object class is missing\n\nCo-authored-by: Garrett Dimon ","shortMessageHtmlLink":"More descriptive error message when an associated object class is mis…"}},{"before":"ad599e363d81bdac978f41827b62dcce19d192a4","after":"1f5b2b785e5e1a07697e532a720c6c052435bb2e","ref":"refs/heads/add-object-generator","pushedAt":"2024-05-14T23:58:56.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":"Better, hm?","shortMessageHtmlLink":"Better, hm?"}},{"before":"33613c8f6c867c8d77044f431fb912ad29322a6f","after":"ad599e363d81bdac978f41827b62dcce19d192a4","ref":"refs/heads/add-object-generator","pushedAt":"2024-05-14T23:36:22.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":"Let's leave this up to apps and their linter","shortMessageHtmlLink":"Let's leave this up to apps and their linter"}},{"before":"4c25cb62b72ffa0280d32e52c7ea8832f6361edb","after":"33613c8f6c867c8d77044f431fb912ad29322a6f","ref":"refs/heads/add-object-generator","pushedAt":"2024-05-14T23:24:33.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":"Chomp the plain method accessor test, not too sure if we need it","shortMessageHtmlLink":"Chomp the plain method accessor test, not too sure if we need it"}},{"before":"dfe82e665de3c59ba609c934a66f0ccc27ce4cc9","after":"4c25cb62b72ffa0280d32e52c7ea8832f6361edb","ref":"refs/heads/add-object-generator","pushedAt":"2024-05-14T23:19:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kaspth","name":"Kasper Timm Hansen","path":"/kaspth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/350807?s=80&v=4"},"commit":{"message":"Add associated object generator\n\nRun with:\n `bin/rails g associated Organization::Seats`\n\nCo-authored-by: Garrett Dimon ","shortMessageHtmlLink":"Add associated object generator"}},{"before":null,"after":"dfe82e665de3c59ba609c934a66f0ccc27ce4cc9","ref":"refs/heads/add-object-generator","pushedAt":"2024-05-14T23:18:34.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":"Add associated object generator\n\nRun with:\n `bin/rails g associated Organization::Seats`\n\nCo-authored-by: Garrett Dimon @garrettdimon","shortMessageHtmlLink":"Add associated object generator"}},{"before":"7b37a65a1f98e645c691ee22e8dee089ddb0ec35","after":"23bd3793aee8ff0f2537341bc296d4de876aa123","ref":"refs/heads/main","pushedAt":"2024-05-13T21:29: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":"Prep v0.8.0","shortMessageHtmlLink":"Prep v0.8.0"}},{"before":"e9e524a9bd43b1f2545d2ff8052173b6f29c1a63","after":null,"ref":"refs/heads/plural-associated-object-names","pushedAt":"2024-05-13T21:28:57.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":"1ee7571a5c3765ab1ed57f085326ec10e2952fc3","after":"7b37a65a1f98e645c691ee22e8dee089ddb0ec35","ref":"refs/heads/main","pushedAt":"2024-05-13T21:28:54.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":"`has_object`: support plural Associated Object names (#22)\n\nSo `Account.has_object :seats` can look up `Account::Seats`, instead of erroneously looking for `Account::Seat`.\r\n\r\nPlural Associated Object names were always meant to be supported, it was just an oversight on my part that `classify` singularizes.","shortMessageHtmlLink":"has_object: support plural Associated Object names (#22)"}},{"before":null,"after":"e9e524a9bd43b1f2545d2ff8052173b6f29c1a63","ref":"refs/heads/plural-associated-object-names","pushedAt":"2024-05-13T21:27:11.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":"`has_object`: support plural Associated Object names\n\nSo `Account.has_object :seats` can look up `Account::Seats`, instead of erroneously looking for `Account::Seat`.\n\nPlural Associated Object names were always meant to be supported, it was just an oversight on my part that `classify` singularizes.","shortMessageHtmlLink":"has_object: support plural Associated Object names"}},{"before":"41d6e9c1c474fa67e6ccf0079d3bde1dc67a4898","after":"1ee7571a5c3765ab1ed57f085326ec10e2952fc3","ref":"refs/heads/main","pushedAt":"2024-01-24T17:03:50.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.7.1","shortMessageHtmlLink":"Prep v0.7.1"}},{"before":"f68062fd621ee271154e5aff3981c202acc50120","after":"41d6e9c1c474fa67e6ccf0079d3bde1dc67a4898","ref":"refs/heads/main","pushedAt":"2024-01-24T17:02:33.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: Extensions aren't loaded in development/test (#21)\n\nPR #19 previously loaded the associated object class when the has_object\r\nwas defined, so that extensions would get run. It seems like that code\r\ngot lost in a rebase. So now, extensions only run on boot if eager\r\nloading is enabled (which it is in production). Otherwise they aren't\r\nloaded until the first time the associated object gets used.","shortMessageHtmlLink":"Fix: Extensions aren't loaded in development/test (#21)"}},{"before":"84b02cd9d38483846428de90033cbf88d3dcc4b0","after":"f68062fd621ee271154e5aff3981c202acc50120","ref":"refs/heads/main","pushedAt":"2024-01-14T16:27:25.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":"ac5636385bb0d2d9da2edc10b21bc30fd88c39fe","after":"84b02cd9d38483846428de90033cbf88d3dcc4b0","ref":"refs/heads/main","pushedAt":"2024-01-13T22:14: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":"Add @nshki quote ❤️","shortMessageHtmlLink":"Add @nshki quote ❤️"}},{"before":"16ae7557f3116b7d8f87eadd4007f633d1e32aef","after":"ac5636385bb0d2d9da2edc10b21bc30fd88c39fe","ref":"refs/heads/main","pushedAt":"2024-01-07T21:38:55.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.7.0","shortMessageHtmlLink":"Prep v0.7.0"}},{"before":"1fbf5aeb4548d9870a2f3d56ccb74020ddc3cf52","after":"16ae7557f3116b7d8f87eadd4007f633d1e32aef","ref":"refs/heads/main","pushedAt":"2024-01-07T21:36:53.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":"Document Object Shapes fix from #20","shortMessageHtmlLink":"Document Object Shapes fix from #20"}},{"before":"0f3149a6bf713d462b1360c4a242f9ebbfb835b3","after":"1fbf5aeb4548d9870a2f3d56ccb74020ddc3cf52","ref":"refs/heads/main","pushedAt":"2024-01-07T21:31:15.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 markdown callouts","shortMessageHtmlLink":"Fix markdown callouts"}},{"before":"85685243cab102018edb54d63fb45d9f7702af7b","after":"0f3149a6bf713d462b1360c4a242f9ebbfb835b3","ref":"refs/heads/main","pushedAt":"2024-01-07T21:29:44.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":"Test with Ruby 3.3","shortMessageHtmlLink":"Test with Ruby 3.3"}},{"before":"e5c0544b7d4635392fefb91c09e09e36e7f6843c","after":null,"ref":"refs/heads/extension-on-object","pushedAt":"2024-01-07T21:29:12.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":"c32707effbf0259dd857f9b14b6190f2402402ba","after":"85685243cab102018edb54d63fb45d9f7702af7b","ref":"refs/heads/main","pushedAt":"2024-01-07T21:29:09.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 Associated Objects to extend their Active Record (#19)\n\n* Eager load associated object classes\r\n\r\n* Allow extension from within Associated Object\r\n\r\n* Just convert test to ActiveSupport::TestCase\r\n\r\n* Update Gemfile.lock\r\n\r\n* Document `extension`\r\n\r\n* Will bundle update fix the build?\r\n\r\n* Fix tests with Kredis 1.7.0\r\n\r\nKredis now expects its connector to respond to `root`,\r\nwhich is a subtle breaking change when its assigned to something other than the default `Rails.application`.","shortMessageHtmlLink":"Allow Associated Objects to extend their Active Record (#19)"}},{"before":"e186e00a78256d930250bc07b6f3f2bcdcb395f2","after":"e5c0544b7d4635392fefb91c09e09e36e7f6843c","ref":"refs/heads/extension-on-object","pushedAt":"2024-01-07T21:27:50.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 tests with Kredis 1.7.0\n\nKredis now expects its connector to respond to `root`,\nwhich is a subtle breaking change when its assigned to something other than the default `Rails.application`.","shortMessageHtmlLink":"Fix tests with Kredis 1.7.0"}},{"before":"853768a8b90f2bd7021e8fd3a954f56998d39076","after":"e186e00a78256d930250bc07b6f3f2bcdcb395f2","ref":"refs/heads/extension-on-object","pushedAt":"2024-01-07T21:13:21.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":"Will bundle update fix the build?","shortMessageHtmlLink":"Will bundle update fix the build?"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWkxkHAA","startCursor":null,"endCursor":null}},"title":"Activity · kaspth/active_record-associated_object"}