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:



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

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

Instance Method Details

#copy_view_filesObject



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

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



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

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

#create_modelObject



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

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



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

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