Sha256: 3f7ee79c909bd81dc991afad91e64c9c69aa23f632b15abcc7a7ec73aece9064
Contents?: true
Size: 1.75 KB
Versions: 1
Compression:
Stored size: 1.75 KB
Contents
Rails.application.eager_load! require "rails/generators/base" module Administrate module Generators class ManifestGenerator < Rails::Generators::Base source_root File.expand_path("../templates", __FILE__) def create_dashboard_manifest template( "dashboard_manifest.rb.erb", Rails.root.join("app/dashboards/dashboard_manifest.rb"), ) 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 unnamed_constants.each do |invalid_model| puts "NOTICE: Skipping dynamically generated model #{invalid_model}." end end private def dashboard_resources valid_dashboard_models.map do |model| model.to_s.pluralize.underscore end end def valid_dashboard_models database_models - invalid_database_models end def database_models ActiveRecord::Base.descendants end def invalid_database_models models_without_tables + namespaced_models + unnamed_constants end def models_without_tables database_models.reject(&:table_exists?) end def namespaced_models database_models.select { |model| model.to_s.include?("::") } end def unnamed_constants ActiveRecord::Base.descendants.reject { |d| d.name == d.to_s } end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
administrate-0.1.3 | lib/generators/administrate/manifest/manifest_generator.rb |