Class: Merb::Authentication::Errors
- Inherits:
-
Object
- Object
- Merb::Authentication::Errors
- Includes:
- Enumerable
- Defined in:
- lib/merb-auth-core/errors.rb
Overview
Lifted from DataMapper’s dm-validations plugin :)
Instance Method Summary collapse
-
#[](field_name) ⇒ Array<Array<String>>
Return validation errors for a particular field name or an empty array.
-
#add(field_name, message) ⇒ Object
Add a authentication error.
-
#clear! ⇒ Object
Clear existing authentication errors.
- #each ⇒ Object
- #empty? ⇒ Boolean
-
#full_messages ⇒ Object
Collect all errors into a single list.
- #method_missing(meth, *args, &block) ⇒ Object
-
#on(field_name) ⇒ Object
Return authentication errors for a particular field_name.
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(meth, *args, &block) ⇒ Object
66 67 68 |
# File 'lib/merb-auth-core/errors.rb', line 66 def method_missing(meth, *args, &block) errors.send(meth, *args, &block) end |
Instance Method Details
#[](field_name) ⇒ Array<Array<String>>
Return validation errors for a particular field name or an empty array
This method is a necessary requirement for active_model compatibility.
43 44 45 |
# File 'lib/merb-auth-core/errors.rb', line 43 def [](field_name) errors[field_name] ||= [] end |
#add(field_name, message) ⇒ Object
Add a authentication error. Use the field_name :general if the errors does not apply to a specific field of the Resource.
25 26 27 |
# File 'lib/merb-auth-core/errors.rb', line 25 def add(field_name, ) (errors[field_name] ||= []) << end |
#clear! ⇒ Object
Clear existing authentication errors.
16 17 18 |
# File 'lib/merb-auth-core/errors.rb', line 16 def clear! errors.clear end |
#each ⇒ Object
55 56 57 58 59 60 |
# File 'lib/merb-auth-core/errors.rb', line 55 def each errors.map.each do |k,v| next if v.blank? yield(v) end end |
#empty? ⇒ Boolean
62 63 64 |
# File 'lib/merb-auth-core/errors.rb', line 62 def empty? entries.empty? end |
#full_messages ⇒ Object
Collect all errors into a single list.
30 31 32 33 34 |
# File 'lib/merb-auth-core/errors.rb', line 30 def errors.inject([]) do |list,pair| list += pair.last end end |
#on(field_name) ⇒ Object
Return authentication errors for a particular field_name.
50 51 52 53 |
# File 'lib/merb-auth-core/errors.rb', line 50 def on(field_name) errors_for_field = errors[field_name] errors_for_field.blank? ? nil : errors_for_field end |