Class: AdminPanel::Generators::ScaffoldGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Includes:
Rails::Generators::ResourceHelpers
Defined in:
lib/generators/admin_panel/scaffold/scaffold_generator.rb

Instance Method Summary collapse

Constructor Details

#initialize(args, *options) ⇒ ScaffoldGenerator

:nodoc:



26
27
28
# File 'lib/generators/admin_panel/scaffold/scaffold_generator.rb', line 26

def initialize(args, *options) #:nodoc:
	super
end

Instance Method Details

#copy_view_filesObject



61
62
63
64
65
66
# File 'lib/generators/admin_panel/scaffold/scaffold_generator.rb', line 61

def copy_view_files
	available_views.each do |view|
		filename = filename_with_extensions(view)
		template "views/#{handler}/#{filename}.erb", File.join("app/views", prefix, controller_file_path, filename)
	end
end

#create_controller_filesObject



45
46
47
# File 'lib/generators/admin_panel/scaffold/scaffold_generator.rb', line 45

def create_controller_files
	template "controllers/controller.rb.erb", File.join('app/controllers', prefix, class_path, "#{controller_file_name}_controller.rb")
end

#create_modelObject



34
35
36
37
38
39
40
41
42
43
# File 'lib/generators/admin_panel/scaffold/scaffold_generator.rb', line 34

def create_model
	# There is no sane way of converting Rails::Generators::GeneratedAttribute back to string
	attributes_string = attributes.map do |attr|
		index = (attr.instance_variable_get("@has_uniq_index") && ':uniq')  ||
		        (attr.instance_variable_get("@has_index")      && ':index') ||
		        ''
		"#{attr.name}:#{attr.type}#{index}"
	end
	generate 'model', class_name, *attributes_string
end

#create_root_folderObject



57
58
59
# File 'lib/generators/admin_panel/scaffold/scaffold_generator.rb', line 57

def create_root_folder
	empty_directory File.join("app/views", prefix, controller_file_path)
end

#create_test_filesObject



49
50
51
# File 'lib/generators/admin_panel/scaffold/scaffold_generator.rb', line 49

def create_test_files
	template "tests/test_unit/functional_test.rb.erb", File.join("test/controllers", prefix, controller_class_path, "#{controller_file_name}_controller_test.rb")
end