Module: ActionLabels::HelperMethods

Defined in:
lib/action_labels/helper_methods.rb

Instance Method Summary collapse

Instance Method Details

#action_label(action, subject, count) ⇒ Object



32
33
34
35
36
# File 'lib/action_labels/helper_methods.rb', line 32

def action_label(action, subject, count)
  am_name = ActiveModelNameExtractor.new(subject).extract
  subject_name = pluralize_active_model_name(am_name, count)
  I18n.t("action_labels.#{action}_subject", subject: subject_name, count: count).capitalize
end

#create_label(subject, count = 1) ⇒ Object



4
5
6
# File 'lib/action_labels/helper_methods.rb', line 4

def create_label(subject, count = 1)
  action_label(:create, subject, count)
end

#delete_label(subject, count = 1) ⇒ Object



20
21
22
# File 'lib/action_labels/helper_methods.rb', line 20

def delete_label(subject, count = 1)
  action_label(:delete, subject, count)
end

#edit_label(subject, count = 1) ⇒ Object



8
9
10
# File 'lib/action_labels/helper_methods.rb', line 8

def edit_label(subject, count = 1)
  action_label(:edit, subject, count)
end

#index_label(subject) ⇒ Object



24
25
26
# File 'lib/action_labels/helper_methods.rb', line 24

def index_label(subject)
  action_label(:index, subject, 2)
end

#manage_label(subject) ⇒ Object



28
29
30
# File 'lib/action_labels/helper_methods.rb', line 28

def manage_label(subject)
  action_label(:manage, subject, 2)
end

#pluralize_active_model_name(model_name, count) ⇒ Object



38
39
40
41
42
# File 'lib/action_labels/helper_methods.rb', line 38

def pluralize_active_model_name(model_name, count)
  model_name.human(count: count)
rescue I18n::InvalidPluralizationData
  model_name.to_s.demodulize.pluralize(count)
end

#show_label(subject, count = 1) ⇒ Object



12
13
14
# File 'lib/action_labels/helper_methods.rb', line 12

def show_label(subject, count = 1)
  action_label(:show, subject, count)
end

#update_label(subject, count = 1) ⇒ Object



16
17
18
# File 'lib/action_labels/helper_methods.rb', line 16

def update_label(subject, count = 1)
  action_label(:update, subject, count)
end