class Shoestrap::AdminGenerator
Public Instance Methods
add_before_filters()
click to toggle source
# File lib/generators/shoestrap/admin_generator.rb, line 47 def add_before_filters inject_into_file 'app/controllers/shoestrap/base_controller.rb', "before_filter :authenticate_admin!\n\n", before: 'def show' inject_into_file 'config/initializers/kuhsaft.rb', before: ' Kuhsaft::Engine.configure do' do <<-eos.gsub(/^ {4}/, '').chomp Kuhsaft::Cms::AdminController.class_eval do before_filter :authenticate_admin! end eos end end
add_gems_and_bundle()
click to toggle source
# File lib/generators/shoestrap/admin_generator.rb, line 15 def add_gems_and_bundle gem 'devise' gem 'devise-i18n' Shell.exec('bundle') ENV['BUNDLE_GEMFILE'] = File.join(Dir.pwd, 'Gemfile') require 'bundler' Bundler.require(:default) end
add_logout_link()
click to toggle source
# File lib/generators/shoestrap/admin_generator.rb, line 69 def add_logout_link inject_into_file 'app/views/kuhsaft/cms/admin/_main_navigation.html.haml', " = link_to t('.logout'), destroy_admin_session_path, :method => :delete\n", after: "%p.navbar-text.pull-right\n" end
disable_registration()
click to toggle source
# File lib/generators/shoestrap/admin_generator.rb, line 43 def disable_registration gsub_file 'app/models/admin.rb', / :registerable,/, '' end
generate_admin_model()
click to toggle source
FIXME: set editable attributes => could be fixed by dynamic editable attributes generation in cms generator
# File lib/generators/shoestrap/admin_generator.rb, line 11 def generate_admin_model generate 'shoestrap:cms', 'admin', 'first_name:string last_name:string' end
install_translations()
click to toggle source
# File lib/generators/shoestrap/admin_generator.rb, line 64 def install_translations copy_file 'translations/devise_admin.de.yml', 'config/locales/de/devise_admin.yml' copy_file 'translations/admin.de.yml', 'config/locales/de/admin.yml', force: true end
install_views()
click to toggle source
# File lib/generators/shoestrap/admin_generator.rb, line 59 def install_views copy_file 'devise.html.haml', 'app/views/layouts/devise.html.haml' directory 'devise_views', 'app/views/admins' end
setup_devise()
click to toggle source
# File lib/generators/shoestrap/admin_generator.rb, line 24 def setup_devise generate 'devise:install' generate 'devise', 'admin' gsub_file 'config/initializers/devise.rb', ' # config.scoped_views = false', ' config.scoped_views = true' inject_into_file 'config/initializers/devise.rb', before: '# Use this hook to configure devise mailer, warden hooks and so forth.' do <<-eos.gsub(/^ {8}/, '').chomp Rails.application.config.to_prepare do devise_layout = 'devise' Devise::SessionsController.layout devise_layout Devise::RegistrationsController.layout devise_layout Devise::ConfirmationsController.layout devise_layout Devise::UnlocksController.layout devise_layout Devise::PasswordsController.layout devise_layout end eos end end