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
|
# File 'lib/golden/theme/bootstrap/common_helper.rb', line 3
def bootstrap_ul_tag li = [], options = {}
options, li = li, [] if li.is_a? Hash
yield li if block_given?
items = ''.html_safe
li.each_with_index do |item, index|
if item.is_a? Array
item_options = item.pop
item_content = item.join('').html_safe
else
item_options = {}
item_content = item
end
item_class = []
item_class << 'first' if index == 0
item_class << 'last' if index == (li.length - 1)
link = item_content.match(/href=(["'])(.*?)(\1)/)[2] rescue nil
item_class << 'current active' if link and (current_page?(link) rescue false)
item_class << item_options.delete(:class) if item_options[:class]
li_class = item_class.empty? ? nil : item_class.join(' ')
items << content_tag(:li, item_content, item_options.merge(class: li_class) )
end
content_tag :ul, items, options
end
|