Module: RailsStuff::Helpers::Links

Included in:
All
Defined in:
lib/rails_stuff/helpers/links.rb

Overview

Link helpers for basic actions.

Constant Summary collapse

ICONS =

rubocop:disable MutableConstant

{ # rubocop:disable MutableConstant
  destroy:  -> { translate_action(:destroy) },
  edit:     -> { translate_action(:edit) },
  new:      -> { translate_action(:new) },
}

Instance Method Summary collapse

Instance Method Details



15
16
17
18
# File 'lib/rails_stuff/helpers/links.rb', line 15

def basic_link_icon(action)
  val = basic_link_icons[action]
  val.is_a?(Proc) ? instance_exec(&val) : val
end


11
12
13
# File 'lib/rails_stuff/helpers/links.rb', line 11

def basic_link_icons
  ICONS
end


20
21
22
23
24
25
26
# File 'lib/rails_stuff/helpers/links.rb', line 20

def link_to_destroy(url, **options)
  link_to basic_link_icon(:destroy), url, {
    title:  translate_action(:delete),
    method: :delete,
    data:   {confirm: translate_confirmation(:delete)},
  }.merge!(options)
end


28
29
30
31
# File 'lib/rails_stuff/helpers/links.rb', line 28

def link_to_edit(url = nil, **options)
  link_to basic_link_icon(:edit), (url || url_for(action: :edit)),
    {title: translate_action(:edit)}.merge!(options)
end


33
34
35
# File 'lib/rails_stuff/helpers/links.rb', line 33

def link_to_new(url = nil, **options)
  link_to basic_link_icon(:new), (url || url_for(action: :new)), options
end