class ExpressAdmin::Generators::ScaffoldGenerator
Attributes
resource_class[R]
view_path[R]
Public Instance Methods
add_route()
click to toggle source
# File lib/generators/express_admin/scaffold/scaffold_generator.rb, line 27 def add_route route_path = Rails.root ? "#{Rails.root}/config/routes.rb": "config/routes.rb" if open(route_path).grep("scope '#{project_path}'").any? inject_into_file 'config/routes.rb', " resources :#{controller_file_name}\n", after: "scope '#{project_path}' do\n" else admin_route = <<-EOD resources :#{controller_file_name}, except: [:edit] EOD inject_into_file 'config/routes.rb', admin_route, after: "#{namespaced?}::Engine.routes.draw do\n" end end
copy_view_files()
click to toggle source
# File lib/generators/express_admin/scaffold/scaffold_generator.rb, line 16 def copy_view_files available_views.each do |view| template "#{view}.html.et.erb", File.join(admin_view_path, "#{view}.html.et") end end
create_root_folder()
click to toggle source
# File lib/generators/express_admin/scaffold/scaffold_generator.rb, line 12 def create_root_folder empty_directory admin_view_path end
generate_controller()
click to toggle source
# File lib/generators/express_admin/scaffold/scaffold_generator.rb, line 22 def generate_controller controller_file_path = File.join(["app/controllers", project_name, "#{controller_file_name}_controller.rb"].compact) template "controller/controller.rb", controller_file_path end
Protected Instance Methods
admin_view_path()
click to toggle source
# File lib/generators/express_admin/scaffold/scaffold_generator.rb, line 90 def admin_view_path path_parts = ["app/views", project_name, controller_file_name] File.join path_parts.compact end
available_actions()
click to toggle source
# File lib/generators/express_admin/scaffold/scaffold_generator.rb, line 64 def available_actions %w(index show update destroy) end
available_views()
click to toggle source
# File lib/generators/express_admin/scaffold/scaffold_generator.rb, line 60 def available_views %w(index) end
handler()
click to toggle source
# File lib/generators/express_admin/scaffold/scaffold_generator.rb, line 68 def handler :et end
model_class_name()
click to toggle source
# File lib/generators/express_admin/scaffold/scaffold_generator.rb, line 84 def model_class_name class_path_parts = class_name.split("::") class_path_parts.unshift namespace.to_s if namespaced? class_path_parts.join("::") end
model_path()
click to toggle source
# File lib/generators/express_admin/scaffold/scaffold_generator.rb, line 95 def model_path if Rails.application class_name.underscore else # drop the module name for the engine as the generators # we invoke will automatically add it back again class_name.split("::").slice(1..-1).join("::").underscore end end
module_name()
click to toggle source
# File lib/generators/express_admin/scaffold/scaffold_generator.rb, line 80 def module_name controller_class_path.last if controller_class_path.size.eql?(2) end
project_name()
click to toggle source
# File lib/generators/express_admin/scaffold/scaffold_generator.rb, line 76 def project_name namespaced_path rescue nil end
project_path()
click to toggle source
# File lib/generators/express_admin/scaffold/scaffold_generator.rb, line 72 def project_path project_name || Rails.application.class.parent_name end
Private Instance Methods
destroy(what, *args)
click to toggle source
# File lib/generators/express_admin/scaffold/scaffold_generator.rb, line 107 def destroy(what, *args) log :destroy, what argument = args.flat_map(&:to_s).join(" ") # in_root { run_ruby_script("bin/rails destroy #{what} #{argument}", verbose: true) } system("bin/rails destroy #{what} #{argument}") end