This is simple container for storage and grouping error messages
Add this line to your application's Gemfile:
gem 'error_messages_container'
And then execute:
$ bundle
Or install it yourself as:
$ gem install error_messages_container
errors_container = ErrorMessagesContainer::ErrorMessages.new(base_name: 'Base application errors')
Adding new group
errors_container.add_group(:horrible_errors, 'My horrible errors')
Get group name
errors_container.name_for_group(:horrible_errors) # => 'My horrible errors'
Get all groups type
errors_container.all_group_types # => [:base, :horrible_errors]
Add errors to base section
errors_container.add('we catch simple error')
Add error to new section
errors_container.add('occurred another error', :horrible_errors)
Add multiple messages
errors_container.add(%w(many small messages), :horrible_errors)
For example you can use this in you view
%ul
- @errors_container.all_messages.each do |group_name, messages|
%li
.error-type
= @errors_container.name_for_group(group_name)
%ul
- messages.each do |message|
%li
= message
Get all messages for group
errors_container.messages_for_group(group_name)
Get Hash with all messages, except empty groups
errors_container.all_messages
Here is 'blank?' and 'present?' for errors_container instance
If you add group
errors_container.add_group(:example, 'My group for example')
errors_container.add('Test message', :example)
You automatically has follow methods
errors_container.example_group_name # => 'My group for example'
errors_container.example_group_messages # => ['Test message']
- Fork it ( http://github.com/Loriowar/error_messages_container/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request