Skip to content

Instantly share code, notes, and snippets.

@yamaaki
Created August 11, 2015 09:01
Show Gist options
  • Save yamaaki/7ec30c6487fceea41af6 to your computer and use it in GitHub Desktop.
Save yamaaki/7ec30c6487fceea41af6 to your computer and use it in GitHub Desktop.
module ApplicationHelper
def admin_page?
return true if /\A \/ admin \/ /xm === request.fullpath
return false
end
def member_page?
return true if /\A \/ member \/ /xm === request.fullpath
return false
end
def is_nav_active?(key)
if key == :member_sign_in
return true if current_page?(new_member_session_path)
return true if request.fullpath == '/member/members/sign_in'
end
if key == :member_edit_profile
return true if current_page?(edit_member_registration_path)
return true if request.fullpath == '/member/members' && request.method == 'POST'
end
if key == :member_sign_out
return true if request.fullpath == '/member/members/sign_out'
end
return false
end
def nav_header(key)
active = false
if key == :member_profile
active = true if is_nav_active?(:member_edit_profile)
active = true if is_nav_active?(:member_sign_out)
text = 'Profile'
end
if key == :admin_members
active = true if is_nav_active?(:admin_members)
active = true if is_nav_active?(:admin_sign_out)
text = 'Members'
end
if active
link_to text, '#', class: 'collapsible-header waves-effect waves-teal active'
else
link_to text, '#', class: 'collapsible-header waves-effect waves-teal'
end
end
def nav_header_li(key)
active = false
active = true if is_nav_active?(key)
if key == :member_sign_in
text = 'Sign in'
path = new_member_session_path
end
if key == :admin_sign_in
text = 'Sign in'
path = new_admin_session_path
end
if key == :admin_sign_out
return true if request.fullpath == '/admin/admins/sign_out'
end
if active
content_tag :li, class: 'active' do
link_to text, path, class: 'waves-effect waves-teal'
end
else
content_tag :li do
link_to text, path, class: 'waves-effect waves-teal'
end
end
end
def nav_li(key)
active = false
active = true if is_nav_active?(key)
if key == :member_edit_profile
text = 'Edit'
path = edit_member_registration_path
method ='GET'
end
if key == :member_sign_out
text = 'Sign out'
path = destroy_member_session_path
method = 'DELETE'
end
if active
content_tag :li, class: 'active' do
if method && method != 'GET'
link_to text, path, method: method
else
link_to text, path
end
end
else
content_tag :li do
if method && method != 'GET'
link_to text, path, method: method
else
link_to text, path
end
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment