管理画面に必要なファイルをgenerateするgemです

管理画面を作るgemといえば、activeadminとかあると思うんですが、基本的な使い方から外れてちょっとカスタマイズしようとすると、調べないといけなくて1人で高速にサービスを作るには向いていないと思っています。

でもさくっと軽い管理画面を作りたい、という気持ちがあったのでrails generatorを使って管理画面に必要なcontroller, routes, viewを生成するgem を作りました。
https://rubygems.org/gems/admin_generator

認証には、sorcery を使っています。
Gemfile にgem 'admin_generator'を追加してからbundle install後にbundle exec rails g admin_generator:admin install を実行すると下記出力を吐いて各種ファイルを生成します。
rails server を再起動したのちに /adminにアクセスするとログイン画面がでてきます。
予めUser.create(email: 'hoge@hoo.com', password: 'hoo')みたいな感じでレコードを作成しておくとログインができると思います。

$ bundle exec rails g admin_generator:admin install  
Running via Spring preloader in process 77693
     gemfile  sorcery
       exist  app/controllers
      create  app/controllers/admin/base_controller.rb
      create  app/controllers/admin/home_controller.rb
      create  app/controllers/admin/sessions_controller.rb
       exist  app/views
      create  app/views/admin/home/index.html.slim
      create  app/views/admin/sessions/new.html.erb
      create  app/views/layouts/admin/application.html.erb
    generate  sorcery:install
Running via Spring preloader in process 77756
      create  config/initializers/sorcery.rb
    generate  model User --skip-migration
Running via Spring preloader in process 77758
      invoke  active_record
      create    app/models/user.rb
      insert  app/models/user.rb
      insert  app/models/user.rb
      create  db/migrate/20170528060036_sorcery_core.rb
    generate  sorcery:install
Running via Spring preloader in process 77768
        gsub  config/initializers/sorcery.rb
      insert  app/models/user.rb
      create  db/migrate/20170528060040_sorcery_activity_logging.rb
      create  db/migrate/20170528060041_sorcery_brute_force_protection.rb
       route  namespace :admin do
    root 'home#index'
    resource :sessions, only: %i(create)
    get 'login' => 'sessions#new', as: :login
    get 'logout' => 'sessions#destroy', as: :logout
  end

以上。