Module: CmAdmin::ApplicationHelper
- Defined in:
- app/helpers/cm_admin/application_helper.rb
Instance Method Summary collapse
- #action(action_name) ⇒ Object
- #current_webpacker_instance ⇒ Object
- #error_header ⇒ Object
- #error_items(invalid_rows) ⇒ Object
- #format_error(errors) ⇒ Object
- #format_error_item(row_item) ⇒ Object
- #formatted_error_message(model_name, field_name) ⇒ Object
-
#has_valid_policy(model_name, action_name) ⇒ Object
Allow if policy is not defined.
- #is_show_action_available(model) ⇒ Object
Instance Method Details
#action(action_name) ⇒ Object
14 15 16 17 18 19 20 21 22 23 |
# File 'app/helpers/cm_admin/application_helper.rb', line 14 def action(action_name) case action_name.to_sym when :update return :edit when :create return :new else return action_name.to_sym end end |
#current_webpacker_instance ⇒ Object
4 5 6 |
# File 'app/helpers/cm_admin/application_helper.rb', line 4 def current_webpacker_instance CmAdmin.webpacker end |
#error_header ⇒ Object
35 36 37 38 39 40 |
# File 'app/helpers/cm_admin/application_helper.rb', line 35 def error_header content_tag :div, class: 'info-split' do concat content_tag(:div, "Row number", class: 'info-split__lhs') concat content_tag(:div, "Error") end end |
#error_items(invalid_rows) ⇒ Object
42 43 44 45 46 47 48 |
# File 'app/helpers/cm_admin/application_helper.rb', line 42 def error_items(invalid_rows) content_tag :div do invalid_rows.each do |row_item| concat format_error_item(row_item) end end end |
#format_error(errors) ⇒ Object
57 58 59 60 61 62 63 64 |
# File 'app/helpers/cm_admin/application_helper.rb', line 57 def format_error(errors) content_tag :div do errors.each do |error| = error[1].instance_of?(Array) ? error[1].join(', ') : error[1] concat content_tag(:div, error[0].titleize + '-' + ) end end end |
#format_error_item(row_item) ⇒ Object
50 51 52 53 54 55 |
# File 'app/helpers/cm_admin/application_helper.rb', line 50 def format_error_item(row_item) content_tag :div, class: 'info-split' do concat content_tag(:div, row_item[0], class: 'info-split__lhs') concat format_error(row_item[2]) end end |
#formatted_error_message(model_name, field_name) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'app/helpers/cm_admin/application_helper.rb', line 25 def (model_name, field_name) invalid_rows = model_name.send(field_name) if invalid_rows.present? content_tag(:div) do concat error_header concat error_items(invalid_rows) end end end |
#has_valid_policy(model_name, action_name) ⇒ Object
Allow if policy is not defined.
9 10 11 12 |
# File 'app/helpers/cm_admin/application_helper.rb', line 9 def has_valid_policy(model_name, action_name) return true unless policy([:cm_admin, model_name.classify.constantize]).methods.include?(:"#{action_name}?") policy([:cm_admin, model_name.classify.constantize]).send(:"#{action_name}?") end |
#is_show_action_available(model) ⇒ Object
66 67 68 69 70 |
# File 'app/helpers/cm_admin/application_helper.rb', line 66 def is_show_action_available(model) model && model.available_actions.map(&:name).include?('show') && has_valid_policy(model.name, 'show') end |