Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/majidimanzade/saoshyant
Rails Exception Handeler
https://github.com/majidimanzade/saoshyant
error-handling exception-handling exceptions rails rails-error-handeling rails-exceptions render ruby ruby-gem
Last synced: 2 months ago
JSON representation
Rails Exception Handeler
- Host: GitHub
- URL: https://github.com/majidimanzade/saoshyant
- Owner: majidimanzade
- License: mit
- Created: 2020-02-09T15:29:41.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-03-08T09:35:24.000Z (almost 5 years ago)
- Last Synced: 2024-04-25T08:01:41.537Z (9 months ago)
- Topics: error-handling, exception-handling, exceptions, rails, rails-error-handeling, rails-exceptions, render, ruby, ruby-gem
- Language: Ruby
- Homepage:
- Size: 16.6 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Saoshyant
**Saoshyant is an exception handler Gem** that allows you to customize your exceptions to have a custom reaction when error raised in rails Application.
When you Encountering to an error in Rails Application it shows Red Page and explains Exception. With Saoshyant you can log or render error with custom status code.
the Most Usage of Saoshyant is in Rest Apis Applications that you need to render errors with custom error code and messages.
## Requirements
* Rails: 3.0.0+## Installation
Add Saoshyant to your Gemfile:
```sh
gem 'saoshyant'
```## Getting Start
in blowe Example we want to render `Exceptions` messages in json format.
```rb
class PageController < ApplicationController
include Saoshyantdef initialize
saoshyant do |status_code, msg, exception_klass|
render json: {message: msg, error_class_name: exception_klass}, status: status_code
end
end
end```
### How Customize Status Code and Log
default status code in saoshyant gem is `500` error code and it doesnt log Exceptions.if you want to customize Status Code and Log you can use `saoshyant_option` methode:
```rb
saoshyant_option(ExceptionClass, StatusCode, LogFlag)
```
```rb
class PageController < ApplicationController
include Saoshyantdef initialize
saoshyant_option(NameError, 402, true)
saoshyant do |status_code, msg, exception_klass|
render json: {message: msg, error_class_name: exception_klass}, status: status_code
end
end
end```