class Aginx::Generators::ControllerGenerator
Public Instance Methods
create_controller()
click to toggle source
# File lib/generators/aginx/controller/controller_generator.rb, line 18 def create_controller template 'controller.rb', File.join('app/controllers', class_path, "#{@model_table_name}_controller.rb") end
create_route()
click to toggle source
# File lib/generators/aginx/controller/controller_generator.rb, line 22 def create_route routes_code = <<-EOF resources :#{@model_table_name} do collection do delete 'multi_destroy' end end EOF # 兼容 agi_scaffold, 索引字符串前添加空格 inject_into_file 'config/routes.rb', before: " # Do not delete this line for agi_scaffold" do routes_code end end
init()
click to toggle source
# File lib/generators/aginx/controller/controller_generator.rb, line 14 def init prepare end
Private Instance Methods
check_namespace()
click to toggle source
# File lib/generators/aginx/controller/controller_generator.rb, line 44 def check_namespace raise 'Namespace is not specified!' if class_path.length == 0 end
prepare()
click to toggle source
# File lib/generators/aginx/controller/controller_generator.rb, line 39 def prepare check_namespace set_model end
set_model()
click to toggle source
# File lib/generators/aginx/controller/controller_generator.rb, line 48 def set_model @model_table_name = file_name.underscore.pluralize @model_name = file_name.camelize.singularize @model_columns = options[:columns] if @model_columns.length == 0 && !options[:skip_model] model = @model_name.constantize if model.respond_to? :columns @model_columns = model.columns.map{|column| "#{column.name}:#{column.type}"} else raise NameError end end rescue NameError raise "Can't any table information about #{@model_name} model" end