Module: RailsUtils::ActionViewExtensions

Defined in:
lib/rails_utils.rb

Instance Method Summary collapse

Instance Method Details

#flash_messages(options = {}) ⇒ Object



36
37
38
39
40
41
42
43
# File 'lib/rails_utils.rb', line 36

def flash_messages(options = {})
  flash.collect do |key, message|
    next if message.blank?
    next if key.to_s == 'timedout'

    (:div, (:button, options[:button_html] || "x", type: "button", class: options[:button_class] || "close", "data-dismiss" => "alert") + message, class: "#{flash_class(key)} fade in #{options[:class]}")
  end.join("\n").html_safe
end

#javascript_initializationObject



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

def javascript_initialization
  application_name = Rails.application.class.parent_name

  javascript_tag "    \#{application_name}.init();\n    if(\#{application_name}.\#{page_controller_class}) {\n      if(\#{application_name}.\#{page_controller_class}.init) { \#{application_name}.\#{page_controller_class}.init(); }\n      if(\#{application_name}.\#{page_controller_class}.init_\#{page_action_class}) { \#{application_name}.\#{page_controller_class}.init_\#{page_action_class}(); }\n    }\n  JS\nend\n"

#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_title(options = {}) ⇒ Object



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

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