class JsonVoorhees::AppMakeAdminGenerator
Public Instance Methods
sprint()
click to toggle source
# File lib/generators/json_voorhees/app_make_admin/app_make_admin_generator.rb, line 6 def sprint clone_engine insert_defcon_engine make_active_admin make_dashboard end
Private Instance Methods
clone_engine()
click to toggle source
# File lib/generators/json_voorhees/app_make_admin/app_make_admin_generator.rb, line 15 def clone_engine run "git clone https://github.com/cleor41/defcon.git" run "mv defcon engines/defcon" run "rm -rf engines/defcon/.git" end
find_and_replace_initializer()
click to toggle source
# File lib/generators/json_voorhees/app_make_admin/app_make_admin_generator.rb, line 64 def find_and_replace_initializer gsub_file 'config/initializers/active_admin.rb', 'config.authentication_method = :authenticate_admin_user!', '#config.authentication_method = :authenticate_admin_user!' gsub_file 'config/initializers/active_admin.rb', 'config.current_user_method = :current_admin_user', '#config.current_user_method = :current_admin_user' gsub_file 'config/initializers/active_admin.rb', 'config.logout_link_path = :destroy_admin_user_session_path', '#config.logout_link_path = :destroy_admin_user_session_path' inject_into_file 'config/initializers/active_admin.rb', after: "ActiveAdmin.setup do |config|\n" do <<-'RUBY' # http auth for admin area config.authentication_method = :authenticate_admin_user! config.current_user_method = :current_admin_user config.logout_link_path = "/sessions/destroy" config.logout_link_method = :post config.allow_comments = false config.site_title_link = "/" RUBY end end
insert_defcon_engine()
click to toggle source
# File lib/generators/json_voorhees/app_make_admin/app_make_admin_generator.rb, line 21 def insert_defcon_engine inject_into_file 'Gemfile', after: "source \'https://rubygems.org\'\n" do <<-'RUBY' gem 'defcon', :path => "engines/defcon" RUBY end end
make_active_admin()
click to toggle source
# File lib/generators/json_voorhees/app_make_admin/app_make_admin_generator.rb, line 39 def make_active_admin run "rails g active_admin:install --skip-users" template "defcon_admin_register.rb.erb", "app/admin/defcon_admin_user.rb" inject_into_file 'app/controllers/application_controller.rb', after: "protect_from_forgery with: :exception\n" do <<-'RUBY' protected def authenticate_admin_user! if ::Defcon.authenticate_admin_user!(session) return true else redirect_to defcon.defcon_login_path, alert: "Login!" return false end end def current_admin_user return ::Defcon.current_admin_user(session) end RUBY end find_and_replace_initializer end
make_dashboard()
click to toggle source
# File lib/generators/json_voorhees/app_make_admin/app_make_admin_generator.rb, line 30 def make_dashboard run "rm -f app/admin/dashboard.rb" if options.fbonly? copy_file "fb_dashboard.rb", "app/admin/dashboard.rb" else copy_file "dashboard.rb.erb", "app/admin/dashboard.rb" end end