Module: Spotlight::CrudLinkHelpers
- Included in:
- ApplicationHelper
- Defined in:
- app/helpers/spotlight/crud_link_helpers.rb
Overview
Helpers for building polymorphic links within the exhibit context
Instance Method Summary collapse
- #action_label(model, action) ⇒ Object
- #cancel_link(model, link, link_to_options = {}) ⇒ Object
- #create_link(model, *args) ⇒ Object
- #delete_link(model, *args) ⇒ Object
- #edit_link(model, *args) ⇒ Object
- #exhibit_create_link(model, *args) ⇒ Object
- #exhibit_delete_link(model, *args) ⇒ Object
- #exhibit_edit_link(model, *args) ⇒ Object
- #exhibit_view_link(model, *args) ⇒ Object
- #nav_link(name = nil, options = nil, html_options = nil, &block) ⇒ Object
- #view_link(model, *args) ⇒ Object
Instance Method Details
#action_label(model, action) ⇒ Object
71 72 73 |
# File 'app/helpers/spotlight/crud_link_helpers.rb', line 71 def action_label(model, action) action_default_value model, action end |
#cancel_link(model, link, link_to_options = {}) ⇒ Object
7 8 9 |
# File 'app/helpers/spotlight/crud_link_helpers.rb', line 7 def cancel_link(model, link, = {}) link_to action_default_value(model, :cancel), link, end |
#create_link(model, *args) ⇒ Object
23 24 25 26 27 |
# File 'app/helpers/spotlight/crud_link_helpers.rb', line 23 def create_link(model, *args) = args. link = args.first || polymorphic_path([spotlight, model], action: :new) link_to action_default_value(model), link, end |
#delete_link(model, *args) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 |
# File 'app/helpers/spotlight/crud_link_helpers.rb', line 47 def delete_link(model, *args) = args. link = args.first || [spotlight, model] = { data: { method: :delete, turbo_method: :delete, confirm: action_default_value(model, :destroy_are_you_sure), turbo_confirm: action_default_value(model, :destroy_are_you_sure) } } link_to action_default_value(model, :destroy), link, .merge() end |
#edit_link(model, *args) ⇒ Object
35 36 37 38 39 |
# File 'app/helpers/spotlight/crud_link_helpers.rb', line 35 def edit_link(model, *args) = args. link = args.first || polymorphic_path([spotlight, model], action: :edit) link_to action_default_value(model), link, end |
#exhibit_create_link(model, *args) ⇒ Object
29 30 31 32 33 |
# File 'app/helpers/spotlight/crud_link_helpers.rb', line 29 def exhibit_create_link(model, *args) = args. link = args.first || polymorphic_path([spotlight, current_exhibit, model], action: :new) link_to action_default_value(model), link, end |
#exhibit_delete_link(model, *args) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 |
# File 'app/helpers/spotlight/crud_link_helpers.rb', line 59 def exhibit_delete_link(model, *args) = args. link = args.first || [spotlight, model.exhibit, model] = { data: { method: :delete, turbo_method: :delete, confirm: action_default_value(model, :destroy_are_you_sure), turbo_confirm: action_default_value(model, :destroy_are_you_sure) } } link_to action_default_value(model, :destroy), link, .merge() end |
#exhibit_edit_link(model, *args) ⇒ Object
41 42 43 44 45 |
# File 'app/helpers/spotlight/crud_link_helpers.rb', line 41 def exhibit_edit_link(model, *args) = args. link = args.first || polymorphic_path([spotlight, model.exhibit, model], action: :edit) link_to action_default_value(model), link, end |
#exhibit_view_link(model, *args) ⇒ Object
17 18 19 20 21 |
# File 'app/helpers/spotlight/crud_link_helpers.rb', line 17 def exhibit_view_link(model, *args) = args. link = args.first || [spotlight, model.exhibit, model] link_to action_default_value(model, :view), link, end |
#nav_link(name = nil, options = nil, html_options = nil, &block) ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'app/helpers/spotlight/crud_link_helpers.rb', line 75 def nav_link(name = nil, = nil, = nil, &block) # rubocop:disable Style/ParallelAssignment # (Note: this is copied from upstream in Rails) , , name = , name, block if block_given? # rubocop:enable Style/ParallelAssignment ||= {} content_tag(:li, class: 'nav-item') do if block_given? link_to(, (, ), &block) else link_to(name, , (, ), &block) end end end |
#view_link(model, *args) ⇒ Object
11 12 13 14 15 |
# File 'app/helpers/spotlight/crud_link_helpers.rb', line 11 def view_link(model, *args) = args. link = args.first || [spotlight, model] link_to action_default_value(model, :view), link, end |