class Administrate::Generators::RoutesGenerator
Public Instance Methods
insert_dashboard_routes()
click to toggle source
# File lib/generators/administrate/routes/routes_generator.rb, line 16 def insert_dashboard_routes if should_route_dashboard? route(dashboard_routes) end end
warn_about_invalid_models()
click to toggle source
# File lib/generators/administrate/routes/routes_generator.rb, line 22 def warn_about_invalid_models invalid_dashboard_models.each do |model| puts "WARNING: Unable to generate a dashboard for #{model}." if namespaced_models.include?(model) puts " - Administrate does not yet support namespaced models." end if models_without_tables.include?(model) puts " - It is not connected to a database table." puts " Make sure your database migrations are up to date." end end unnamed_constants.each do |invalid_model| puts "NOTICE: Skipping dynamically generated model #{invalid_model}." end end
Private Instance Methods
dashboard_resources()
click to toggle source
# File lib/generators/administrate/routes/routes_generator.rb, line 45 def dashboard_resources valid_dashboard_models.map do |model| model.to_s.pluralize.underscore end end
dashboard_routes()
click to toggle source
# File lib/generators/administrate/routes/routes_generator.rb, line 75 def dashboard_routes ERB.new(File.read(routes_file_path)).result(binding) end
database_models()
click to toggle source
# File lib/generators/administrate/routes/routes_generator.rb, line 55 def database_models ActiveRecord::Base.descendants.reject(&:abstract_class?) end
invalid_dashboard_models()
click to toggle source
# File lib/generators/administrate/routes/routes_generator.rb, line 59 def invalid_dashboard_models (models_without_tables + namespaced_models + unnamed_constants).uniq end
models_without_tables()
click to toggle source
# File lib/generators/administrate/routes/routes_generator.rb, line 63 def models_without_tables database_models.reject(&:table_exists?) end
namespace()
click to toggle source
# File lib/generators/administrate/routes/routes_generator.rb, line 41 def namespace options[:namespace] end
namespaced_models()
click to toggle source
# File lib/generators/administrate/routes/routes_generator.rb, line 67 def namespaced_models database_models.select { |model| model.to_s.include?("::") } end
rails_routes_file_path()
click to toggle source
# File lib/generators/administrate/routes/routes_generator.rb, line 83 def rails_routes_file_path Rails.root.join("config/routes.rb") end
routes_file_path()
click to toggle source
# File lib/generators/administrate/routes/routes_generator.rb, line 87 def routes_file_path File.expand_path(find_in_source_paths("routes.rb.erb")) end
routes_includes_resources?()
click to toggle source
# File lib/generators/administrate/routes/routes_generator.rb, line 79 def routes_includes_resources? File.read(rails_routes_file_path).include?(dashboard_routes) end
should_route_dashboard?()
click to toggle source
# File lib/generators/administrate/routes/routes_generator.rb, line 91 def should_route_dashboard? routes_includes_resources? || valid_dashboard_models.any? end
unnamed_constants()
click to toggle source
# File lib/generators/administrate/routes/routes_generator.rb, line 71 def unnamed_constants ActiveRecord::Base.descendants.reject { |d| d.name == d.to_s } end
valid_dashboard_models()
click to toggle source
# File lib/generators/administrate/routes/routes_generator.rb, line 51 def valid_dashboard_models database_models - invalid_dashboard_models end