lib/generators/layout/navigation/navigation_generator.rb in rails_layout-1.0.27 vs lib/generators/layout/navigation/navigation_generator.rb in rails_layout-1.0.28

- old
+ new

@@ -16,11 +16,11 @@ append_file 'app/views/layouts/_navigation_links.html.erb', "<li><%= link_to 'About', page_path('about') %></li>\n" if File.exists?("app/views/pages/about.html.#{ext}") # CONTACT append_file 'app/views/layouts/_navigation_links.html.erb', "<li><%= link_to 'Contact', new_contact_path %></li>\n" if File.exists?("app/views/contacts/new.html.#{ext}") # DEVISE if File.exists?('config/initializers/devise.rb') - append_file 'app/views/layouts/_navigation_links.html.erb' do <<-LINKS + create_file 'app/views/layouts/_nav_links_for_auth.html.erb' do <<-LINKS <% if user_signed_in? %> <li><%= link_to 'Edit account', edit_user_registration_path %></li> <li><%= link_to 'Sign out', destroy_user_session_path, :method=>'delete' %></li> <% else %> <li><%= link_to 'Sign in', new_user_session_path %></li> @@ -29,11 +29,11 @@ LINKS end end # OMNIAUTH if File.exists?('config/initializers/omniauth.rb') - append_file 'app/views/layouts/_navigation_links.html.erb' do <<-LINKS + create_file 'app/views/layouts/_nav_links_for_auth.html.erb' do <<-LINKS <% if user_signed_in? %> <li><%= link_to 'Sign out', signout_path %></li> <% else %> <li><%= link_to 'Sign in', signin_path %></li> <% end %> @@ -42,32 +42,40 @@ end # USERS if Dir.glob("app/views/users/index.html.{#{ext},erb}").any? if User.column_names.include? 'role' # suitable for role-based authorization - append_file 'app/views/layouts/_navigation_links.html.erb' do <<-LINKS + append_file 'app/views/layouts/_nav_links_for_auth.html.erb' do <<-LINKS <% if user_signed_in? %> <% if current_user.try(:admin?) %> <li><%= link_to 'Users', users_path %></li> <% end %> <% end %> LINKS end else # suitable for simple authentication - append_file 'app/views/layouts/_navigation_links.html.erb' do <<-LINKS + append_file 'app/views/layouts/_nav_links_for_auth.html.erb' do <<-LINKS <% if user_signed_in? %> <li><%= link_to 'Users', users_path %></li> <% end %> LINKS end end end # UPMIN (administrative dashboard) if File.exists?('config/initializers/upmin.rb') navlink = " <li><%= link_to 'Admin', '/admin' %></li>" - inject_into_file 'app/views/layouts/_navigation_links.html.erb', navlink + "\n", :after => "<% if current_user.try(:admin?) %>\n" + inject_into_file 'app/views/layouts/_nav_links_for_auth.html.erb', navlink + "\n", :after => "<% if current_user.try(:admin?) %>\n" end + end + + def modify_layout_for_auth_links + return unless File.exists?('app/views/layouts/_nav_links_for_auth.html.erb') + app = ::Rails.application + ext = app.config.generators.options[:rails][:template_engine] || :erb + partial = "<%= render 'layouts/navigation_links' %>\n <%= render 'layouts/nav_links_for_auth' %>" + gsub_file "app/views/layouts/_navigation.html.#{ext}", /<%= render 'layouts\/navigation_links' %>/, partial end def add_tests return unless File.exists?('config/initializers/devise.rb') return unless File.exists?('spec/spec_helper.rb')