class Madmin::Generators::InstallGenerator
Public Instance Methods
copy_controller()
click to toggle source
# File lib/generators/madmin/install/install_generator.rb, line 14 def copy_controller template("controller.rb.tt", "app/controllers/madmin/application_controller.rb") end
eager_load()
click to toggle source
# File lib/generators/madmin/install/install_generator.rb, line 10 def eager_load Rails.application.eager_load! end
generate_resources()
click to toggle source
# File lib/generators/madmin/install/install_generator.rb, line 31 def generate_resources generateable_models.each do |model| if model.table_exists? call_generator "madmin:resource", model.to_s else puts "Skipping #{model} because database table does not exist" end end end
generate_routes()
click to toggle source
# File lib/generators/madmin/install/install_generator.rb, line 18 def generate_routes if rails6_1_and_up? route "draw :madmin", file: ROUTES_FILE[:default] template("routes.rb.tt", "config/routes/madmin.rb") end if route_namespace_exists? route "root to: \"dashboard#show\"", indentation: separated_routes_file? ? 2 : 4, sentinel: /namespace :madmin do\s*\n/m else route "root to: \"dashboard#show\"", namespace: [:madmin] end end
Private Instance Methods
active_record_models()
click to toggle source
# File lib/generators/madmin/install/install_generator.rb, line 50 def active_record_models ObjectSpace.each_object(ActiveRecord::Base.singleton_class) end
generateable_models()
click to toggle source
Skip Abstract classes, ActiveRecord::Base, and auto-generated HABTM models
# File lib/generators/madmin/install/install_generator.rb, line 44 def generateable_models active_record_models.reject do |model| model.abstract_class? || model == ActiveRecord::Base || model.name.start_with?("HABTM_") end end