Module: RailsUtils::ActionViewExtensions

Defined in:
lib/rails_utils.rb

Instance Method Summary collapse

Instance Method Details

#flash_messagesObject



35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/rails_utils.rb', line 35

def flash_messages
  html = ""
  flash.each do |key, message|
    html <<
      (:div, class: "#{flash_class(key.to_sym)} fade in") do
        content = ""
        content << (:button, "x", type: "button", class: "close", "data-dismiss" => "alert")
        content << message
        content.html_safe
      end
  end
  html.html_safe
end

#javascript_initializationObject



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/rails_utils.rb', line 23

def javascript_initialization
  application_name = Rails.application.class.parent_name

  javascript_tag <<-JS
    #{application_name}.init();
    if(#{application_name}.#{page_controller_class}) {
      if(#{application_name}.#{page_controller_class}.init) { #{application_name}.#{page_controller_class}.init(); }
      if(#{application_name}.#{page_controller_class}.init_#{page_action_class}) { #{application_name}.#{page_controller_class}.init_#{page_action_class}(); }
    }
  JS
end

#page_action_classObject



9
10
11
12
# File 'lib/rails_utils.rb', line 9

def page_action_class
  class_mappings = { "create" => "new", "update" => "edit" }
  class_mappings[controller.action_name] || controller.action_name
end

#page_classObject



14
15
16
# File 'lib/rails_utils.rb', line 14

def page_class
  "#{page_controller_class} #{page_action_class}"
end

#page_controller_classObject



5
6
7
# File 'lib/rails_utils.rb', line 5

def page_controller_class
  controller.class.to_s.sub(/Controller$/, "").underscore.sub(/\//, "_")
end

#page_titleObject



18
19
20
21
# File 'lib/rails_utils.rb', line 18

def page_title
  default_page_title = "#{page_controller_class.capitalize} #{page_action_class.capitalize}"
  I18n.t("#{page_controller_class}.#{page_action_class}.title", default: default_page_title)
end