{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":618591618,"defaultBranch":"master","name":"feature_envy","ownerLogin":"gregnavis","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-03-24T20:10:12.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/90490?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1715891530.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"88b4610474894050c84e2753adbb8f9541047f3d","ref":"refs/heads/dependabot/bundler/rexml-3.2.8","pushedAt":"2024-05-16T20:32:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump rexml from 3.2.5 to 3.2.8\n\nBumps [rexml](https://github.com/ruby/rexml) from 3.2.5 to 3.2.8.\n- [Release notes](https://github.com/ruby/rexml/releases)\n- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)\n- [Commits](https://github.com/ruby/rexml/compare/v3.2.5...v3.2.8)\n\n---\nupdated-dependencies:\n- dependency-name: rexml\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump rexml from 3.2.5 to 3.2.8"}},{"before":null,"after":"7ff114d2f3db39f6748c3e5e920d3f6ff4faf6df","ref":"refs/heads/dependabot/bundler/yard-0.9.36","pushedAt":"2024-03-01T17:18:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump yard from 0.9.35 to 0.9.36\n\nBumps [yard](https://github.com/lsegal/yard) from 0.9.35 to 0.9.36.\n- [Release notes](https://github.com/lsegal/yard/releases)\n- [Changelog](https://github.com/lsegal/yard/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/lsegal/yard/compare/v0.9.35...v0.9.36)\n\n---\nupdated-dependencies:\n- dependency-name: yard\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump yard from 0.9.35 to 0.9.36"}},{"before":"a2e0bd13147b4ce8f78678eda60da45359699966","after":null,"ref":"refs/heads/dependabot/bundler/yard-0.9.35","pushedAt":"2024-03-01T14:12:33.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"}},{"before":"18984fdcebfade6d90ec0bdb205f11c83fa97a9d","after":"8916b54565d84a95d6988ced9371b449d89bd95a","ref":"refs/heads/master","pushedAt":"2024-03-01T14:12:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Bump yard from 0.9.28 to 0.9.35 (#1)","shortMessageHtmlLink":"Bump yard from 0.9.28 to 0.9.35 (#1)"}},{"before":null,"after":"a2e0bd13147b4ce8f78678eda60da45359699966","ref":"refs/heads/dependabot/bundler/yard-0.9.35","pushedAt":"2024-02-28T19:07:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump yard from 0.9.28 to 0.9.35\n\nBumps [yard](https://github.com/lsegal/yard) from 0.9.28 to 0.9.35.\n- [Release notes](https://github.com/lsegal/yard/releases)\n- [Changelog](https://github.com/lsegal/yard/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/lsegal/yard/compare/v0.9.28...v0.9.35)\n\n---\nupdated-dependencies:\n- dependency-name: yard\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump yard from 0.9.28 to 0.9.35"}},{"before":null,"after":"5278c7ce7808c17a05b602066dc93fabb2cd0ad5","ref":"refs/heads/update-readme","pushedAt":"2023-06-03T09:24:01.984Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"More informative README.md\n\nThe previous README.md failed to explain what specific features are,\npreventing potential users from deciding whether feature_envy might be\napplicable to their projects.\n\nThis commit rewrites the README.md by:\n\n1. Making it start with a table of contents with brief feature\n descriptions.\n2. Adding a definition, motivation, usage instructions, and examples for\n each supported feature.","shortMessageHtmlLink":"More informative README.md"}},{"before":"62f0c392f40cecf71d1668543f74c1bb59b3fee4","after":"18984fdcebfade6d90ec0bdb205f11c83fa97a9d","ref":"refs/heads/master","pushedAt":"2023-06-02T09:47:27.313Z","pushType":"push","commitsCount":1,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Add inspect! usage to README.md\n\nInspect was documented, but the quick start example lacked an actual\ncall to #inspect!. This commit adds that call along with a short\nexplanation what will happen.","shortMessageHtmlLink":"Add inspect! usage to README.md"}},{"before":"5d5a13fb54ab0fae952408966d2dfe3e4d648599","after":"62f0c392f40cecf71d1668543f74c1bb59b3fee4","ref":"refs/heads/master","pushedAt":"2023-06-02T09:06:48.125Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Release 0.3.0","shortMessageHtmlLink":"Release 0.3.0"}},{"before":"04a5effbb2ddbd1e8fac9883b9af389d47537c9c","after":"5d5a13fb54ab0fae952408966d2dfe3e4d648599","ref":"refs/heads/master","pushedAt":"2023-06-02T09:05:24.248Z","pushType":"push","commitsCount":1,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Release 0.3.0","shortMessageHtmlLink":"Release 0.3.0"}},{"before":"8533e6d978135a6aeac9e92ad3f6e467cd04407b","after":"04a5effbb2ddbd1e8fac9883b9af389d47537c9c","ref":"refs/heads/master","pushedAt":"2023-06-02T09:02:28.989Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Add quick start snippets\n\nThis commit adds four quick start snippets to README.md, so that it's\neasier to get started for newcomers. Additionally, the main\ndocumentation page has explicit links to modules that implemented\nindividual features. Last but not least, the Internal module is hidden\nfrom users.","shortMessageHtmlLink":"Add quick start snippets"}},{"before":"d7078f62c272762588a501b0531ac63b72205aef","after":"8533e6d978135a6aeac9e92ad3f6e467cd04407b","ref":"refs/heads/master","pushedAt":"2023-06-02T09:02:02.750Z","pushType":"push","commitsCount":1,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Add quick start snippets\n\nThis commit adds four quick start snippets to README.md, so that it's\neasier to get started for newcomers. Additionally, the main\ndocumentation page has explicit links to modules that implemented\nindividual features. Last but not least, the Internal module is hidden\nfrom users.","shortMessageHtmlLink":"Add quick start snippets"}},{"before":"e840a173e6e417ed856ac5429cb3aa00a109a675","after":"d7078f62c272762588a501b0531ac63b72205aef","ref":"refs/heads/master","pushedAt":"2023-06-02T08:49:09.633Z","pushType":"push","commitsCount":1,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Add Elixir-inspired inspect\n\nThis commit adds a module offering an Elixir-inspired version of inspect\nthat can be used during development and testing.","shortMessageHtmlLink":"Add Elixir-inspired inspect"}},{"before":"3d86559d3cb35868f754186a6f90e22b2ac13506","after":"e840a173e6e417ed856ac5429cb3aa00a109a675","ref":"refs/heads/master","pushedAt":"2023-04-05T10:23:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Release 0.2.0","shortMessageHtmlLink":"Release 0.2.0"}},{"before":"a9084569d3e2bf3761c86e85fd81272e6e7df9cc","after":"3d86559d3cb35868f754186a6f90e22b2ac13506","ref":"refs/heads/master","pushedAt":"2023-04-05T10:19:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Release 0.2.0","shortMessageHtmlLink":"Release 0.2.0"}},{"before":"2b96a4b588250c369695f55b425994947e060aa1","after":"a9084569d3e2bf3761c86e85fd81272e6e7df9cc","ref":"refs/heads/master","pushedAt":"2023-04-05T10:17:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Release 0.2.0","shortMessageHtmlLink":"Release 0.2.0"}},{"before":"1cc218c9062e85e2779629637701835ef3e050dc","after":"2b96a4b588250c369695f55b425994947e060aa1","ref":"refs/heads/master","pushedAt":"2023-04-04T11:55:55.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Add object literals\n\nThis commit adds support for JavaScript-inspired object literals. They\nare simple to implement using instance_eval and the method that adds\nsupport for them is merely three lines long.","shortMessageHtmlLink":"Add object literals"}},{"before":"7f858b436c6b5e95464d773dc6d586b34944bf19","after":"1cc218c9062e85e2779629637701835ef3e050dc","ref":"refs/heads/master","pushedAt":"2023-03-31T08:12:07.687Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Make lazy accessors thread-safe\n\nThis commit adds a mutex protecting each lazy attribute on first use,\nin order to avoid a race condition resulting in computing the value\ntwice.\n\nThere are caveats related to defining accessors: for instance, it's not\nthread-safe to open a class in two threads and add lazy accessors in\neach thread. This use case was deemed to be too exotic to support.\n\nThis work was inspired by a question from Maxim Gurin.","shortMessageHtmlLink":"Make lazy accessors thread-safe"}},{"before":"8124f325ff6c50859a29f1f52b229422e1046d2d","after":"7f858b436c6b5e95464d773dc6d586b34944bf19","ref":"refs/heads/master","pushedAt":"2023-03-31T08:05:45.024Z","pushType":"push","commitsCount":2,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Make lazy accessors thread-safe\n\nThis commit adds a mutex protecting each lazy attribute on first use,\nin order to avoid a race condition resulting in computing the value\ntwice.\n\nThere are caveats related to defining accessors: for instance, it's not\nthread-safe to open a class in two threads and add lazy accessors in\neach thread. This use case was deemed to be too exotic to support.\n\nThis work was inspired by a question from Maxim Gurin.","shortMessageHtmlLink":"Make lazy accessors thread-safe"}},{"before":"dadfd1a6dd59e4c13449cc58d31d5805add646eb","after":"8124f325ff6c50859a29f1f52b229422e1046d2d","ref":"refs/heads/master","pushedAt":"2023-03-25T11:31:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Add lazy accessors\n\nThis commit adds support for lazy accessors: the closest thing to lazy\nattributes Ruby can get. The feature is documented using a new format,\nthat will be applied to documenting final classes, too. The new format\nis comprised of:\n\n- Definition\n- Applications\n- Usage\n- Discussion\n- Examples\n\nA few annoying Rubocop cops were disabled, too.","shortMessageHtmlLink":"Add lazy accessors"}},{"before":"ca37d27070e31e9602b2ae75e536ee014c6062ce","after":"dadfd1a6dd59e4c13449cc58d31d5805add646eb","ref":"refs/heads/master","pushedAt":"2023-03-25T11:27:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Add lazy accessors\n\nThis commit adds support for lazy accessors: the closest thing to lazy\nattributes Ruby can get. The feature is documented using a new format,\nthat will be applied to documenting final classes, too. The new format\nis comprised of:\n\n- Definition\n- Applications\n- Usage\n- Discussion\n- Examples\n\nA few annoying Rubocop cops were disabled, too.","shortMessageHtmlLink":"Add lazy accessors"}},{"before":"50861135f52e5e02b24b17583e7820e1afbeb275","after":"ca37d27070e31e9602b2ae75e536ee014c6062ce","ref":"refs/heads/master","pushedAt":"2023-03-24T20:13:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Final classes\n\nThis is the first commit in the repo history. It implements final\nclasses, i.e. classes that cannot be inherited from.\n\nAdditionally, some supporting infrastructure was set up in the form of\nthe test suite, documentation generation, and linting.","shortMessageHtmlLink":"Final classes"}},{"before":"9562811f26a70c568a304c2a1626b92e0b8a5a11","after":"50861135f52e5e02b24b17583e7820e1afbeb275","ref":"refs/heads/master","pushedAt":"2023-03-24T20:12:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Final classes\n\nThis is the first commit in the repo history. It implements final\nclasses, i.e. classes that cannot be inherited from.\n\nAdditionally, some supporting infrastructure was set up in the form of\nthe test suite, documentation generation, and linting.","shortMessageHtmlLink":"Final classes"}},{"before":null,"after":"9562811f26a70c568a304c2a1626b92e0b8a5a11","ref":"refs/heads/master","pushedAt":"2023-03-24T20:10:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gregnavis","name":"Greg Navis","path":"/gregnavis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/90490?s=80&v=4"},"commit":{"message":"Final classes\n\nThis is the first commit in the repo history. It implements final\nclasses, i.e. classes that cannot be inherited from.\n\nAdditionally, some supporting infrastructure was set up in the form of\nthe test suite, documentation generation, and linting.","shortMessageHtmlLink":"Final classes"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAETAvszQA","startCursor":null,"endCursor":null}},"title":"Activity ยท gregnavis/feature_envy"}