class Administrate::Generators::InstallGenerator

Public Instance Methods

create_dashboard_controller() click to toggle source
# File lib/generators/administrate/install/install_generator.rb, line 31
def create_dashboard_controller
  template(
    "application_controller.rb.erb",
    "app/controllers/#{namespace}/application_controller.rb",
  )
end
model_check() click to toggle source
# File lib/generators/administrate/install/install_generator.rb, line 45
def model_check
  if valid_dashboard_models.none?
    puts "WARNING: Add models before installing Administrate."
  end
end
run_dashboard_generators() click to toggle source
# File lib/generators/administrate/install/install_generator.rb, line 38
def run_dashboard_generators
  singular_dashboard_resources.each do |resource|
    call_generator "administrate:dashboard", resource,
      "--namespace", namespace
  end
end
run_routes_generator() click to toggle source
# File lib/generators/administrate/install/install_generator.rb, line 24
def run_routes_generator
  if dashboard_resources.none?
    call_generator("administrate:routes", "--namespace", namespace)
    Rails.application.reload_routes!
  end
end

Private Instance Methods

dashboard_resources() click to toggle source
# File lib/generators/administrate/install/install_generator.rb, line 61
def dashboard_resources
  Administrate::Namespace.new(namespace).resources
end
database_models() click to toggle source
# File lib/generators/administrate/install/install_generator.rb, line 69
def database_models
  ActiveRecord::Base.descendants.reject(&:abstract_class?)
end
invalid_dashboard_models() click to toggle source
# File lib/generators/administrate/install/install_generator.rb, line 73
def invalid_dashboard_models
  (models_without_tables + namespaced_models + unnamed_constants).uniq
end
models_without_tables() click to toggle source
# File lib/generators/administrate/install/install_generator.rb, line 77
def models_without_tables
  database_models.reject(&:table_exists?)
end
namespace() click to toggle source
# File lib/generators/administrate/install/install_generator.rb, line 53
def namespace
  options[:namespace]
end
namespaced_models() click to toggle source
# File lib/generators/administrate/install/install_generator.rb, line 81
def namespaced_models
  database_models.select { |model| model.to_s.include?("::") }
end
singular_dashboard_resources() click to toggle source
# File lib/generators/administrate/install/install_generator.rb, line 57
def singular_dashboard_resources
  dashboard_resources.map(&:to_s).map(&:singularize)
end
unnamed_constants() click to toggle source
# File lib/generators/administrate/install/install_generator.rb, line 85
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/install/install_generator.rb, line 65
def valid_dashboard_models
  database_models - invalid_dashboard_models
end