Module: LeftSide::Rails::Helper

Defined in:
lib/left_side/helper.rb

Instance Method Summary collapse

Instance Method Details

#live_active?(link, active_class = "active") ⇒ Boolean

link can be a string or a set of string

Returns:

  • (Boolean)


9
10
11
12
13
14
15
# File 'lib/left_side/helper.rb', line 9

def live_active?(link, active_class = "active")
  if link.is_a?(Array)
    link.inject(nil){|s, lin| s ||= live_active_helper?(lin, active_class)}
  elsif link.is_a?(String)
    live_active_helper?(link, active_class)
  end || ""
end

#live_active_helper?(link, active_class) ⇒ Boolean

use live_active? instead of

Returns:

  • (Boolean)


18
19
20
21
22
23
24
25
# File 'lib/left_side/helper.rb', line 18

def live_active_helper?(link, active_class)
  expect_uri = URI.unescape(link)
  current_uri = URI.unescape(request.url)
  link_params = link.get_params
  expect_hash = ::Rails.application.routes.recognize_path(expect_uri)
  expect_hash[:controller] == request[:controller] && expect_hash[:action] == request[:action] &&\
   request.params.extract(link_params.keys).fixed_hash == link_params ? active_class : nil
end