{"id":15648026,"url":"https://github.com/tenderlove/defrost","last_synced_at":"2025-10-12T14:35:16.280Z","repository":{"id":46217730,"uuid":"425130928","full_name":"tenderlove/defrost","owner":"tenderlove","description":"Never let pesky \"frozen\" objects get in your way again! Use Defrost to remove the frozen state from your objects!","archived":false,"fork":false,"pushed_at":"2021-11-06T05:21:28.000Z","size":16,"stargazers_count":42,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-29T04:43:20.338Z","etag":null,"topics":["cool","frozen","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tenderlove.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-06T01:47:20.000Z","updated_at":"2024-09-01T23:08:26.000Z","dependencies_parsed_at":"2022-09-23T05:41:04.604Z","dependency_job_id":null,"html_url":"https://github.com/tenderlove/defrost","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenderlove%2Fdefrost","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenderlove%2Fdefrost/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenderlove%2Fdefrost/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tenderlove%2Fdefrost/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tenderlove","download_url":"https://codeload.github.com/tenderlove/defrost/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248950853,"owners_count":21188354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cool","frozen","ruby"],"created_at":"2024-10-03T12:22:49.451Z","updated_at":"2025-10-12T14:35:16.195Z","avatar_url":"https://github.com/tenderlove.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Defrost\n\nIsn't it annoying when you try to mutate an object but it turns out the object\nis frozen?  Don't you wish you could \"defrost\" the object so you could mutate\nit?\n\nWell I have the gem for you!\n\nNever \"lose your cool\" with the Defrost gem!  The Defrost gem allows you to\n\"unfreeze\" your objects so that you can mutate them with reckless abandon!  No\nlonger will you need to grapple with \"immutability\" when you can simply just\ncall \"defrost\".\n\n## Example\n\n```ruby\n# Frozen string. Boring, hard to use, can't change it\nstr = \"some string\".freeze\np str.frozen? # =\u003e true\n\nrequire \"defrost\"\n\n# Not frozen string. Exciting, dynamic, no idea when it will change!\nstr.defrost\np str.frozen? # =\u003e false\n```\n\n## Testimonials\n\n\"This is the most exciting thing to happen to my code since removing the GVL!\" -- Aaron Patterson\n\n\"For a real treat, try mixing this gem with frozen string literals!\"  -- Aaron Patterson\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftenderlove%2Fdefrost","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftenderlove%2Fdefrost","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftenderlove%2Fdefrost/lists"}