Module: Paginas::ApplicationHelper

Defined in:
app/helpers/paginas/application_helper.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args, &block) ⇒ Object



66
67
68
69
70
71
72
# File 'app/helpers/paginas/application_helper.rb', line 66

def method_missing(method, *args, &block)
  if (method.to_s.end_with?('_path') || method.to_s.end_with?('_url')) && main_app.respond_to?(method)
    main_app.send(method, *args)
  else
    super
  end
end

Instance Method Details

#paginas_menu_helper_by_cat(catid, options = {}) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'app/helpers/paginas/application_helper.rb', line 33

def paginas_menu_helper_by_cat(catid,options = {})
  options[:item_style] ||= "[link]"
  options[:item_separator] ||= " | "
  options[:group_style] ||= "[items]"
  options[:active_class] ||= ""
  options[:controller] ||= 'paginas/pages'
  options[:action] ||= 'display'

  output = ''
  separator = ''
  cats = Category.where(:id => catid).first
  if !cats.blank?
    cats.pages.each do |page|
      item = ''
      item += separator
      item += options[:item_style].gsub(/\[link\]/, link_to(page.title ,display_path(page.id)))

      active = ''
      if params[:controller] == options[:controller] && params[:action] == options[:action] && params[:id] == page.id.to_s
        active = options[:active_class]
      end
      item = item.gsub(/\[active\]/, active)
      output += item
      if separator == ''
        separator= options[:item_separator]
      end
    end
  end
  output = options[:group_style].gsub(/\[items\]/, output)

  return output.html_safe
end

#paginas_menu_helper_by_pages(ids, options = {}) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'app/helpers/paginas/application_helper.rb', line 3

def paginas_menu_helper_by_pages(ids,options = {})
  options[:item_style] ||= "[link]"
  options[:item_separator] ||= " | "
  options[:group_style] ||= "[items]"
  options[:active_class] ||= ""
  options[:controller] ||= 'paginas/pages'
  options[:action] ||= 'display'

  output = ''
  separator = ''
  ids.each do |key,id|
    item = ''
    item += separator
    item += options[:item_style].gsub(/\[link\]/, link_to(key ,display_path(id)))

    active = ''
    if params[:controller] == options[:controller] && params[:action] == options[:action] && params[:id] == id.to_s
      active = options[:active_class]
    end
    item = item.gsub(/\[active\]/, active)
    output += item

    if separator == ''
      separator= options[:item_separator]
    end
end
  output = options[:group_style].gsub(/\[items\]/, output)

  return output.html_safe
end