{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":498774921,"defaultBranch":"main","name":"phlex","ownerLogin":"phlex-ruby","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-06-01T14:40:16.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/111233186?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1719259931.0","currentOid":""},"activityList":{"items":[{"before":"3958e9f1822f978629b479f74f29ec874f101005","after":"883bcafb6eeb0772dcf4d64dac7cce9b8a136f10","ref":"refs/heads/1.10","pushedAt":"2024-07-02T09:19:18.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"joeldrapper","name":"Joel Drapper","path":"/joeldrapper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/246692?s=80&v=4"},"commit":{"message":"warn on non-symbolic and non-lowercase :id (#741)\n\n#740 but just warn","shortMessageHtmlLink":"warn on non-symbolic and non-lowercase :id (#741)"}},{"before":"d5fb7ea49112073a3c2b8f6196a1262a9efcf331","after":"82e4a4920399c1163463fdd2d35fb8fd487ca813","ref":"refs/heads/main","pushedAt":"2024-07-02T09:18:53.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"joeldrapper","name":"Joel Drapper","path":"/joeldrapper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/246692?s=80&v=4"},"commit":{"message":"grab (#739)\n\nresolves #720","shortMessageHtmlLink":"grab (#739)"}},{"before":"de7e37cccc690cf7f8d99b7cadca88242f9e572d","after":"d5fb7ea49112073a3c2b8f6196a1262a9efcf331","ref":"refs/heads/main","pushedAt":"2024-07-02T09:18:17.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"joeldrapper","name":"Joel Drapper","path":"/joeldrapper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/246692?s=80&v=4"},"commit":{"message":"raise on non-symbolic and non-lowercase :id (#740)\n\nresolves #695","shortMessageHtmlLink":"raise on non-symbolic and non-lowercase :id (#740)"}},{"before":"8f6cce1f77fd27d95639bd1bc855e02c8a80c670","after":null,"ref":"refs/heads/remove-tokens-helpers","pushedAt":"2024-06-24T20:12:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"joeldrapper","name":"Joel Drapper","path":"/joeldrapper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/246692?s=80&v=4"}},{"before":"6635d218379cc9ec3fd9d290d015c9f3c44febc4","after":"de7e37cccc690cf7f8d99b7cadca88242f9e572d","ref":"refs/heads/main","pushedAt":"2024-06-24T20:12:10.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"joeldrapper","name":"Joel Drapper","path":"/joeldrapper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/246692?s=80&v=4"},"commit":{"message":"Remove `tokens` and `classes` helpers (#738)\n\nSince #737, we no longer need these helpers.","shortMessageHtmlLink":"Remove tokens
and classes
helpers (#738)"}},{"before":"7ab745f73f3f25ef8f10efc3c9f7b7b01524d393","after":"8f6cce1f77fd27d95639bd1bc855e02c8a80c670","ref":"refs/heads/remove-tokens-helpers","pushedAt":"2024-06-24T20:11:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joeldrapper","name":"Joel Drapper","path":"/joeldrapper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/246692?s=80&v=4"},"commit":{"message":"Remove tokens helpers","shortMessageHtmlLink":"Remove tokens helpers"}},{"before":"4fcaec06879c07912c827d2a87eb7bd248bf4b28","after":null,"ref":"refs/heads/good-cop","pushedAt":"2024-06-24T19:18:51.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"joeldrapper","name":"Joel Drapper","path":"/joeldrapper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/246692?s=80&v=4"}},{"before":"13c3a173afa49f88c86e9b6682a07871f0d2b681","after":"6635d218379cc9ec3fd9d290d015c9f3c44febc4","ref":"refs/heads/main","pushedAt":"2024-06-24T19:18:50.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"joeldrapper","name":"Joel Drapper","path":"/joeldrapper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/246692?s=80&v=4"},"commit":{"message":"Adopt new good cop rules (#730)\n\nThe good cop rules were recently updated to be opt-in. This PR adopts\r\nthose new rules.","shortMessageHtmlLink":"Adopt new good cop rules (#730)"}},{"before":"c3a8be66fb0da3c06c03f85f3039878203c1a975","after":"4fcaec06879c07912c827d2a87eb7bd248bf4b28","ref":"refs/heads/good-cop","pushedAt":"2024-06-24T19:16:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joeldrapper","name":"Joel Drapper","path":"/joeldrapper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/246692?s=80&v=4"},"commit":{"message":"Use new good cop rules","shortMessageHtmlLink":"Use new good cop rules"}},{"before":"5d2bdd5c5a670abdff64742393f92d45b8852e5f","after":"c3a8be66fb0da3c06c03f85f3039878203c1a975","ref":"refs/heads/good-cop","pushedAt":"2024-06-24T19:14:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joeldrapper","name":"Joel Drapper","path":"/joeldrapper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/246692?s=80&v=4"},"commit":{"message":"Use new good cop rules","shortMessageHtmlLink":"Use new good cop rules"}},{"before":"23fcd8593fd9380bd7ddf7dc5838b59e18ed000f","after":"5d2bdd5c5a670abdff64742393f92d45b8852e5f","ref":"refs/heads/good-cop","pushedAt":"2024-06-24T19:11:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"joeldrapper","name":"Joel Drapper","path":"/joeldrapper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/246692?s=80&v=4"},"commit":{"message":"Use new good cop rules","shortMessageHtmlLink":"Use new good cop rules"}},{"before":"6791262b2128759c7376a575c8a2bdd1c37709ed","after":"7ab745f73f3f25ef8f10efc3c9f7b7b01524d393","ref":"refs/heads/remove-tokens-helpers","pushedAt":"2024-06-24T19:07:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"joeldrapper","name":"Joel Drapper","path":"/joeldrapper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/246692?s=80&v=4"},"commit":{"message":"Update tests","shortMessageHtmlLink":"Update tests"}},{"before":null,"after":"6791262b2128759c7376a575c8a2bdd1c37709ed","ref":"refs/heads/remove-tokens-helpers","pushedAt":"2024-06-24T19:03:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"joeldrapper","name":"Joel Drapper","path":"/joeldrapper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/246692?s=80&v=4"},"commit":{"message":"Remove `tokens` and `classes` helpers","shortMessageHtmlLink":"Remove tokens
and classes
helpers"}},{"before":"c6880850180c0037db21a081efcfe42d791295de","after":"13c3a173afa49f88c86e9b6682a07871f0d2b681","ref":"refs/heads/main","pushedAt":"2024-06-24T18:58:41.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"joeldrapper","name":"Joel Drapper","path":"/joeldrapper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/246692?s=80&v=4"},"commit":{"message":"feat: add Hash support for `class` and `style` attributes (#737)\n\n### Description :book:\r\n\r\nThis pull request adds support for passing `Hash` in `class` and `style`\r\nattributes in a way that feels idiomatic in Ruby and achieves\r\ncomposability.\r\n\r\n### Background 📜 \r\n\r\nWhen writing Phlex components, things usually start simple:\r\n\r\n```ruby\r\ndiv(id: \"hero\", class: \"section\")\r\n```\r\n\r\nbut when you need a conditional class, things get a bit awkward:\r\n\r\n```ruby\r\ndiv(id: \"hero\", **classes(\"section\", (\"active\" if active)))\r\n```\r\n\r\nThis proposal is meant to provide an alternative which is easier to\r\nunderstand, and easier to write:\r\n\r\n```ruby\r\ndiv(id: \"hero\", class: [\"section\", active:])\r\n```\r\n\r\n### Examples 🧪\r\n\r\n#### `class`\r\n\r\nA component such as:\r\n\r\n```ruby\r\ndef active = true\r\n\r\ndef inactive = false\r\n\r\ndef view_template\r\n div(class: [\"dropdown\", inactive:, active:])\r\nend\r\n```\r\n\r\nwould render:\r\n\r\n```erb\r\n
class
and style
attributes (#737)"}},{"before":"fe4979d488c1a16e0f8a0d4e70ac75d0af9c54ec","after":"c6880850180c0037db21a081efcfe42d791295de","ref":"refs/heads/main","pushedAt":"2024-06-24T08:30:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"joeldrapper","name":"Joel Drapper","path":"/joeldrapper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/246692?s=80&v=4"},"commit":{"message":"Update README.md\n\nSigned-off-by: Joel Drapper