Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/koic/everlasting
Enhance the behavior of Hash in the behavior of ActionController::Parameters.
https://github.com/koic/everlasting
actioncontroller logging parameters rails rails5
Last synced: 25 days ago
JSON representation
Enhance the behavior of Hash in the behavior of ActionController::Parameters.
- Host: GitHub
- URL: https://github.com/koic/everlasting
- Owner: koic
- License: mit
- Created: 2017-06-07T09:34:47.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-21T07:27:53.000Z (almost 6 years ago)
- Last Synced: 2024-12-17T11:23:24.527Z (30 days ago)
- Topics: actioncontroller, logging, parameters, rails, rails5
- Language: Ruby
- Size: 17.6 KB
- Stars: 10
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Everlasting [![Build Status](https://travis-ci.org/koic/everlasting.svg)](https://travis-ci.org/koic/everlasting) [![Gem Version](https://badge.fury.io/rb/everlasting.svg)](http://badge.fury.io/rb/everlasting)
Enhance the behavior of Hash in the behavior of ActionController::Parameters.
ActionController::Parameters does not inherit Hash since Rails 5.0. This Gem will never cause an error even if you call Hash's method on ActionController::Parameters.
The aim of this Gem is to detect a Hash method calls to ActionController::Parameters without causing errors.
## Installation
Add this line to your application's Gemfile:
```ruby
group :production do
gem 'everlasting'
end
```:star2: __Recommend you to enable it only in production environment. In other environments it is to detect errors with fail fast.__
And then execute:
```console
$ bundle install
```## Support version
- Ruby 2.2.2 or higher.
- Rails 5 or higher.## About behavior
It is a comparison of behavior when using this Gem and when not using it.
### Plain Rails 5 application (Without this Gem)
```ruby
params.symbolize_keys # => NoMethodError: undefined method `symbolize_keys' for #
```### Rails 5 application with this Gem
```ruby
params.symbolize_keys # => It outputs exception information to Rails.logger.error without error
```It will output to the Rails log together with the backtrace as follows.
```console
The Everlasting Gem detected a method that ActionController::Parameters does not know.
ActionController::Parameters does not inherit Hash since Rails 5.0.
Use `params.to_h.symbolize_keys' instead of `params.symbolize_keys'.---backtrace---
(snip)
bin/rails:8:in `require'
bin/rails:8:in `'
```## Development
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/koic/everlasting.
## License
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).