{"id":16102401,"url":"https://github.com/sshaw/angry_raise","last_synced_at":"2025-08-16T16:33:16.592Z","repository":{"id":62553277,"uuid":"122815451","full_name":"sshaw/angry_raise","owner":"sshaw","description":"raise Ruby exceptions, with emotion and intensity","archived":false,"fork":false,"pushed_at":"2021-02-20T20:35:33.000Z","size":8,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-26T13:20:17.277Z","etag":null,"topics":["dsl","error-handling","error-messages","errors","exceptions","raise","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sshaw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-25T07:39:43.000Z","updated_at":"2022-06-01T08:38:14.000Z","dependencies_parsed_at":"2022-11-03T04:30:27.006Z","dependency_job_id":null,"html_url":"https://github.com/sshaw/angry_raise","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/sshaw%2Fangry_raise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fangry_raise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fangry_raise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fangry_raise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sshaw","download_url":"https://codeload.github.com/sshaw/angry_raise/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229805764,"owners_count":18126903,"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":["dsl","error-handling","error-messages","errors","exceptions","raise","ruby"],"created_at":"2024-10-09T18:53:43.925Z","updated_at":"2024-12-17T00:48:48.680Z","avatar_url":"https://github.com/sshaw.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AngryRaise\n\n[![Build Status](https://travis-ci.org/sshaw/angry_raise.svg?branch=master)](https://travis-ci.org/sshaw/angry_raise)\n\n`raise` exceptions, with emotion and intensity\n\n## Usage\n\n```rb\nrequire \"angry_raise\"\n\nraise! \"an error occured\"                   # \"RuntimeError: an error occured!\"\nraise! SomeError, \"an error occured\"        # \"SomeError: an error occured!\"\nraise! SomeError.new(\"an error occured\")    # \"SomeError: an error occured!\"\n\nraise!! \"an error occured\"                  # \"RuntimeError: An error occured!!\"\nraise!! SomeError, \"an error occured\"       # \"SomeError: An error occured!!\"\nraise!! SomeError.new(\"an error occured\")   # \"SomeError: An error occured!!\"\n\nraise!!! \"an error occured\"                 # \"RuntimeError: An Error Occured!!!\"\nraise!!! SomeError, \"an error occured\"      # \"SomeError: An Error Occured!!!\"\nraise!!! SomeError.new(\"an error occured\")  # \"SomeError: An Error Occured!!!\"\n\nraise!!!! \"an error occured\"                # \"RuntimeError: AN ERROR OCCURED!!!!\"\nraise!!!! SomeError, \"an error occured\"     # \"SomeError: AN ERROR OCCURED!!!!\"\nraise!!!! SomeError.new(\"an error occured\") # \"SomeError: AN ERROR OCCURED!!!!\"\n```\n\nFeel free to [capture the mood of each caller](https://youtu.be/rHimCElPNPU):\n\n```rb\nraise!!!!!!!!!!!!!! \"an error occured\"  # RuntimeError: AN ERROR OCCURED!!!!!!!!!!!!!!\n```\n\nYou can add a backtrace too, because sometimes, it's appropriate:\n\n```rb\nraise!!! SomeError, \"an error occured\", %w[frame1 frame2 frame3]\n```\n\n## Internationalization\n\n```rb\nI18n.locale = :es\nraise!!! \"tenemos un problema aqui\"  # ¡¡¡Tenemos Un Problema Aqui!!!\n```\n\nCurrently only supports Spanish. Is there any other language *to* support?\n\n## Can I Use This in Production?\n\nShould one ever use monkey patched code in production‽‽‽\n\nThis library changes the behavior or `String#!`, `Exception#!` and `Exception::!` to\n**the exact opposite of their default implementations!** So, I'd say NO!!!!\n\n## Author\n\nSkye Shaw [skye.shaw =AT= gmail]\n\n## See Also\n\n* [Acme::Crap](https://metacpan.org/pod/Acme::Crap) - The Perl module that served as inspiration\n* [Table flipper](https://github.com/iridakos/table_flipper) - Prepends the table flipper on Exception messages\n* [class2](https://github.com/sshaw/class2) - DSL for creating class hierarchies\n* [YYMMDD](https://github.com/sshaw/yymmdd) - Tiny DSL for idiomatic date parsing and formatting\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsshaw%2Fangry_raise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsshaw%2Fangry_raise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsshaw%2Fangry_raise/lists"}