Module: Practical::Views::ErrorHandling
- Defined in:
- app/lib/practical/views/error_handling.rb
Class Method Summary collapse
- .build_error_json(model:, helpers:) ⇒ Object
- .error_container_id(model:, error:, helpers:) ⇒ Object
- .error_element_id(model:, error:, helpers:) ⇒ Object
Class Method Details
.build_error_json(model:, helpers:) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 |
# File 'app/lib/practical/views/error_handling.rb', line 2 def self.build_error_json(model:, helpers:) return model.errors.map do |error| error_container_id = error_container_id(model: model, error: error, helpers: helpers) element_id = error_element_id(model: model, error: error, helpers: helpers) { container_id: error_container_id, element_to_invalidate_id: element_id, message: error., type: error.type } end end |
.error_container_id(model:, error:, helpers:) ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'app/lib/practical/views/error_handling.rb', line 16 def self.error_container_id(model:, error:, helpers:) if error.[:error_container_id].present? return error.[:error_container_id] else attribute_name_parts = error.attribute.to_s.split(".") return helpers.field_id(model, *attribute_name_parts, :errors) end end |
.error_element_id(model:, error:, helpers:) ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'app/lib/practical/views/error_handling.rb', line 25 def self.error_element_id(model:, error:, helpers:) if error.[:element_id].present? return error.[:element_id] else attribute_name_parts = error.attribute.to_s.split(".") return helpers.field_id(model, *attribute_name_parts) end end |