def add_navigation_links_for_bootstrap4
return unless framework_name == 'bootstrap4'
app = ::Rails.application
ext = app.config.generators.options[:rails][:template_engine] || :erb
copy_file "navigation_links.html.erb", "app/views/layouts/_navigation_links.html.erb"
append_file 'app/views/layouts/_navigation_links.html.erb', "<li class='nav-item'><%= link_to 'About', page_path('about'), class: 'nav-link' %></li>\n" if File.exists?("app/views/pages/about.html.#{ext}")
append_file 'app/views/layouts/_navigation_links.html.erb', "<li class='nav-item'><%= link_to 'Contact', new_contact_path, class: 'nav-link' %></li>\n" if File.exists?("app/views/contacts/new.html.#{ext}")
if File.exists?('config/initializers/devise.rb')
create_file 'app/views/layouts/_nav_links_for_auth.html.erb' do <<-LINKS
<% if user_signed_in? %>
<li class='nav-item'><%= link_to 'Edit account', edit_user_registration_path, class: 'nav-link' %></li>
<li class='nav-item'><%= link_to 'Sign out', destroy_user_session_path, :method=>'delete', class: 'nav-link' %></li>
<% else %>
<li class='nav-item'><%= link_to 'Sign in', new_user_session_path, class: 'nav-link' %></li>
<li class='nav-item'><%= link_to 'Sign up', new_user_registration_path, class: 'nav-link' %></li>
<% end %>
LINKS
end
end
if File.exists?('config/initializers/omniauth.rb')
create_file 'app/views/layouts/_nav_links_for_auth.html.erb' do <<-LINKS
<% if user_signed_in? %>
<li class='nav-item'><%= link_to 'Sign out', signout_path, class: 'nav-link' %></li>
<% else %>
<li class='nav-item'><%= link_to 'Sign in', signin_path, class: 'nav-link' %></li>
<% end %>
LINKS
end
end
if Dir.glob("app/views/users/index.html.{#{ext},erb}").any?
if User.column_names.include? 'role'
append_file 'app/views/layouts/_nav_links_for_auth.html.erb' do <<-LINKS
<% if user_signed_in? %>
<% if current_user.try(:admin?) %>
<li class='nav-item'><%= link_to 'Users', users_path, class: 'nav-link' %></li>
<% end %>
<% end %>
LINKS
end
else
append_file 'app/views/layouts/_nav_links_for_auth.html.erb' do <<-LINKS
<% if user_signed_in? %>
<li class='nav-item'><%= link_to 'Users', users_path, class: 'nav-link' %></li>
<% end %>
LINKS
end
end
end
if File.exists?('config/initializers/upmin.rb')
navlink = " <li class='nav-item'><%= link_to 'Admin', '/admin', class: 'nav-link' %></li>"
inject_into_file 'app/views/layouts/_nav_links_for_auth.html.erb', navlink + "\n", :after => "<% if current_user.try(:admin?) %>\n"
end
if File.exists?('config/railscomposer.yml')
if Rails.application.config_for(:railscomposer)['dashboard'] == 'administrate'
navlink = " <li class='nav-item'><%= link_to 'Admin', '/admin', class: 'nav-link' %></li>
"
inject_into_file 'app/views/layouts/_nav_links_for_auth.html.erb', navlink + "\n", :after => "<% if current_user.try(:admin?) %>\n"
end
end
end