{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":90215567,"defaultBranch":"master","name":"attr_json","ownerLogin":"jrochkind","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-05-04T03:00:42.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/149304?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1717081877.0","currentOid":""},"activityList":{"items":[{"before":"9cdbf4a8286b3767ae82a7f99e95bd19b73a40c7","after":"0017ba3716bbb74a4aabf6c8896be95960f8a41c","ref":"refs/heads/master","pushedAt":"2024-05-30T15:16:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"Fix CI links in README.md","shortMessageHtmlLink":"Fix CI links in README.md"}},{"before":"6067f83078043b6637013304cbeb166049146328","after":null,"ref":"refs/heads/prepare_2.3.1","pushedAt":"2024-05-30T15:10:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"}},{"before":"5fb2bd6c9f1f2ba60a988df095b768d31e1a75fc","after":"9cdbf4a8286b3767ae82a7f99e95bd19b73a40c7","ref":"refs/heads/master","pushedAt":"2024-05-30T15:10:53.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"Merge pull request #226 from jrochkind/prepare_2.3.1\n\nprepare for 2.3.1 release","shortMessageHtmlLink":"Merge pull request #226 from jrochkind/prepare_2.3.1"}},{"before":null,"after":"6067f83078043b6637013304cbeb166049146328","ref":"refs/heads/prepare_2.3.1","pushedAt":"2024-05-30T15:07:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"prepare for 2.3.1 release","shortMessageHtmlLink":"prepare for 2.3.1 release"}},{"before":"4dca354077f41dc05c69ee70c4d4446f868e152a","after":"5fb2bd6c9f1f2ba60a988df095b768d31e1a75fc","ref":"refs/heads/master","pushedAt":"2024-05-30T15:05:50.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"Merge pull request #225 from LyricL-Gitster/224-fix-polymorphic-validation\n\n224: validate PolymorphicModels","shortMessageHtmlLink":"Merge pull request #225 from LyricL-Gitster/224-fix-polymorphic-valid…"}},{"before":"7d7800394de15fedb65f21febfa984b885383146","after":null,"ref":"refs/heads/rails_8_sql_double_parans","pushedAt":"2024-02-26T18:23:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"}},{"before":"244e4eddb51a2cd73784d4b53a533623dddc2a6c","after":"4dca354077f41dc05c69ee70c4d4446f868e152a","ref":"refs/heads/master","pushedAt":"2024-02-26T18:23:14.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"Merge pull request #223 from jrochkind/rails_8_sql_double_parans\n\nAllow double parens in SQL spec","shortMessageHtmlLink":"Merge pull request #223 from jrochkind/rails_8_sql_double_parans"}},{"before":null,"after":"7d7800394de15fedb65f21febfa984b885383146","ref":"refs/heads/rails_8_sql_double_parans","pushedAt":"2024-02-26T18:21:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"Allow double parens in SQL spec\n\nOn Rails post-7.1 edge @ c402ec78724a, SQL generated for certain 'NOT' queries has a double set of parens nested.\n\nOur spec testing for SQL then fails. We modify it to accept double set of parens. This makes no semantic difference, our code was working on this version of Rails regardless; the spec just has to accep the variant SQL that means the same thing.\n\n(No idea why Rails changed to generate a double set of parens here, or if it's a bug somewhere; but the SQL still works fine, an unnecessary double set of parens doesn't hurt anything I'm aware of, so I'm not going to worry about it).","shortMessageHtmlLink":"Allow double parens in SQL spec"}},{"before":"5ecce44aa204bc68645b0e981eb87d1c742fb3da","after":null,"ref":"refs/heads/fix_nested_model_validation","pushedAt":"2024-01-08T17:51:01.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"}},{"before":"a4024dcb0468dfad6ae0d49e914d535dbf06edec","after":"244e4eddb51a2cd73784d4b53a533623dddc2a6c","ref":"refs/heads/master","pushedAt":"2024-01-08T17:50:58.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"Merge pull request #220 from jrochkind/fix_nested_model_validation\n\nKeep nested model validation working in Rails post 7.1 (undefined method `custom_validation_context?')","shortMessageHtmlLink":"Merge pull request #220 from jrochkind/fix_nested_model_validation"}},{"before":"ec3a98508295b814b2966271d32e0cdc7de0a218","after":"5ecce44aa204bc68645b0e981eb87d1c742fb3da","ref":"refs/heads/fix_nested_model_validation","pushedAt":"2024-01-08T17:46:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"CHANGELOG for #220","shortMessageHtmlLink":"CHANGELOG for #220"}},{"before":"cc38f3b0c7029d593a8294f015397c40af33d315","after":"ec3a98508295b814b2966271d32e0cdc7de0a218","ref":"refs/heads/fix_nested_model_validation","pushedAt":"2024-01-08T17:43:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"CHANGELOG for #220","shortMessageHtmlLink":"CHANGELOG for #220"}},{"before":"5e37ca19f6192ffb706e836b9f0919f6569967fc","after":"cc38f3b0c7029d593a8294f015397c40af33d315","ref":"refs/heads/fix_nested_model_validation","pushedAt":"2024-01-08T17:43:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"Keep nested model validation working in Rails post 7.1\n\nWithout using ActiveRecord::Validations::AssociatedValidator -- we now supply our own custom validation code, based on the same basic thing it was doing.\n\nWe had been using this ActiveRecord class in an analogous context for our AttrJson-specific nested model validations. And it used to work, because the code was simple enough. But as a result of https://github.com/jrochkind/attr_json/pull/220 , it started to contain some ActiveRecord-specific logic that broke us in our analagous use case.\n\nNo problem, we can just supply validation code ourselves, forked from the last working copy. It's very simple logic.\n\nWe even had a note to ourselves in a comment that we might have to do this at some point!","shortMessageHtmlLink":"Keep nested model validation working in Rails post 7.1"}},{"before":null,"after":"5e37ca19f6192ffb706e836b9f0919f6569967fc","ref":"refs/heads/fix_nested_model_validation","pushedAt":"2024-01-08T17:38:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"Keep nested model validation working in Rails post 7.1\n\nWithout using ActiveRecord::Validations::AssociatedValidator -- we now supply our own custom validation code, based on the same basic thing it was doing.\n\nWe had been using this ActiveRecord class in an analogous context for our AttrJson-specific nested model validations. And it used to work, because the code was simple enough. But as a result of https://github.com/rails/rails/issues/46239 , it started to contain some ActiveRecord-specific logic that broke us in our analagous use case.\n\nNo problem, we can just supply validation code ourselves, forked from the last working copy. It's very simple logic.\n\nWe even had a note to ourselves in a comment that we might have to do this at some point!","shortMessageHtmlLink":"Keep nested model validation working in Rails post 7.1"}},{"before":"b3c502bc4e2bf45512aa107404f913ba0db92497","after":null,"ref":"refs/heads/test_ruby_3.3","pushedAt":"2024-01-03T17:36:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"}},{"before":"fe2ec9a8c2ad2b1bf37460dc7a4c9211245c8678","after":"a4024dcb0468dfad6ae0d49e914d535dbf06edec","ref":"refs/heads/master","pushedAt":"2024-01-03T17:36:12.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"Merge pull request #219 from jrochkind/test_ruby_3.3\n\nGithub CI test with ruby 3.3","shortMessageHtmlLink":"Merge pull request #219 from jrochkind/test_ruby_3.3"}},{"before":null,"after":"b3c502bc4e2bf45512aa107404f913ba0db92497","ref":"refs/heads/test_ruby_3.3","pushedAt":"2024-01-03T17:05:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"Github CI test with ruby 3.3","shortMessageHtmlLink":"Github CI test with ruby 3.3"}},{"before":"b2693141afd1b65c2a38addfb5a2d69e84d1d7c7","after":null,"ref":"refs/heads/prep_2.3.0","pushedAt":"2023-12-04T21:48:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"}},{"before":"32ef6ec0fc9fadd88592c5bfe82c32230b008bcb","after":"fe2ec9a8c2ad2b1bf37460dc7a4c9211245c8678","ref":"refs/heads/master","pushedAt":"2023-12-04T21:48:26.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"Merge pull request #218 from jrochkind/prep_2.3.0\n\nprep 2.3.0 release","shortMessageHtmlLink":"Merge pull request #218 from jrochkind/prep_2.3.0"}},{"before":null,"after":"b2693141afd1b65c2a38addfb5a2d69e84d1d7c7","ref":"refs/heads/prep_2.3.0","pushedAt":"2023-12-04T21:47:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"prep 2.3.0 release","shortMessageHtmlLink":"prep 2.3.0 release"}},{"before":"5886d7c48dc5068c644e091adcc269d02f288655","after":"32ef6ec0fc9fadd88592c5bfe82c32230b008bcb","ref":"refs/heads/master","pushedAt":"2023-12-04T21:45:39.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"Merge pull request #216 from jrochkind/frozen_strings\n\nFreeze more strings","shortMessageHtmlLink":"Merge pull request #216 from jrochkind/frozen_strings"}},{"before":"6885f5e1d9d68695219f97e45abf564736d47c4d","after":"1b94c048a611e2105d1b26be9400f00f8e54950f","ref":"refs/heads/frozen_strings","pushedAt":"2023-12-04T21:43:32.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"cache Registry#definitions to avoid object allocations","shortMessageHtmlLink":"cache Registry#definitions to avoid object allocations"}},{"before":"e8f2ddc0f39081b1c90b95e3bd8336a3f6863bad","after":"6885f5e1d9d68695219f97e45abf564736d47c4d","ref":"refs/heads/frozen_strings","pushedAt":"2023-11-30T21:00:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"convert symbol to string (now frozen) with fewer memory allocations","shortMessageHtmlLink":"convert symbol to string (now frozen) with fewer memory allocations"}},{"before":"61fa5edd36b93be18770b0216f597aa6d0648e29","after":"e8f2ddc0f39081b1c90b95e3bd8336a3f6863bad","ref":"refs/heads/frozen_strings","pushedAt":"2023-11-30T20:59:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"convert symbol to string (now frozen) with fewer memory allocations","shortMessageHtmlLink":"convert symbol to string (now frozen) with fewer memory allocations"}},{"before":null,"after":"61fa5edd36b93be18770b0216f597aa6d0648e29","ref":"refs/heads/frozen_strings","pushedAt":"2023-11-30T20:29:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"frozen string comment pragma at top of files\n\nThis does actually make a significant difference in string allocations in some places, we have a lot of string literals in hot spots","shortMessageHtmlLink":"frozen string comment pragma at top of files"}},{"before":"efabae889ff57504019c7593e7576d57aa0e3864","after":null,"ref":"refs/heads/fix_rails_main_dirty_tracking","pushedAt":"2023-11-02T19:40:56.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"}},{"before":"b2cd4148a33611efbff9b29a49d5d0301c82d465","after":"5886d7c48dc5068c644e091adcc269d02f288655","ref":"refs/heads/master","pushedAt":"2023-11-02T19:40:51.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"Merge pull request #215 from jrochkind/fix_rails_main_dirty_tracking\n\nFix build for post-Rails-7.1 main branch changes to dirty tracking","shortMessageHtmlLink":"Merge pull request #215 from jrochkind/fix_rails_main_dirty_tracking"}},{"before":null,"after":"efabae889ff57504019c7593e7576d57aa0e3864","ref":"refs/heads/fix_rails_main_dirty_tracking","pushedAt":"2023-11-02T19:35:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"Fix build for post-Rails-7.1 main branch changes to dirty tracking\n\nWe set a default of empty hash on our container attribute. Up to Rails 7.1, Rails ignores the default in dirty tracking, and consideers the initial value nil -- but post Rails 7.1, Rails dirty tracking _starts_ at `{}`. We don't consider it a bug, the new behavior is probably better, we just go with it in tests either way.","shortMessageHtmlLink":"Fix build for post-Rails-7.1 main branch changes to dirty tracking"}},{"before":"f4fbfbe0f160923b8abb8e8cc85d58a6a3c1197a","after":null,"ref":"refs/heads/avoid_ar_private_attribute_registration","pushedAt":"2023-11-02T18:00:23.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"}},{"before":"a8a5484513dc2df01c239084463853b03c7c4eae","after":"b2cd4148a33611efbff9b29a49d5d0301c82d465","ref":"refs/heads/master","pushedAt":"2023-11-02T18:00:16.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"jrochkind","name":"Jonathan Rochkind","path":"/jrochkind","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/149304?s=80&v=4"},"commit":{"message":"Merge pull request #214 from jrochkind/avoid_ar_private_attribute_registration\n\nAvoid private ActiveRecord API when lazily registering container attributes","shortMessageHtmlLink":"Merge pull request #214 from jrochkind/avoid_ar_private_attribute_reg…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWCi8awA","startCursor":null,"endCursor":null}},"title":"Activity · jrochkind/attr_json"}