lib/generators/administrate/install/install_generator.rb in administrate-0.1.0 vs lib/generators/administrate/install/install_generator.rb in administrate-0.1.1
- old
+ new
@@ -28,10 +28,22 @@
singular_dashboard_resources.each do |resource|
Rails::Generators.invoke("administrate:dashboard", [resource])
end
end
+ def warn_about_invalid_models
+ namespaced_models.each do |invalid_model|
+ puts "WARNING: Unable to generate a dashboard for #{invalid_model}."
+ puts " Administrate does not yet support namespaced models."
+ end
+
+ models_without_tables.each do |invalid_model|
+ puts "WARNING: Unable to generate a dashboard for #{invalid_model}."
+ puts " It is not connected to a database table."
+ end
+ end
+
private
def singular_dashboard_resources
dashboard_resources.map(&:singularize)
end
@@ -41,14 +53,26 @@
model.to_s.pluralize.underscore
end
end
def valid_dashboard_models
- database_models.reject { |model| model.to_s.include?("::") }
+ database_models - invalid_database_models
end
def database_models
ActiveRecord::Base.descendants
+ end
+
+ def invalid_database_models
+ models_without_tables + namespaced_models
+ end
+
+ def models_without_tables
+ database_models.reject(&:table_exists?)
+ end
+
+ def namespaced_models
+ database_models.select { |model| model.to_s.include?("::") }
end
def dashboard_routes
File.read(routes_file_path)
end