Class: AdminViewGenerator

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

Instance Method Summary collapse

Instance Method Details

#add_resource_routeObject



49
50
51
52
53
54
55
# File 'lib/generators/admin_view_generator.rb', line 49

def add_resource_route
  return if not File.exists?("config/routes.rb")
  route_config =  "namespace :admin do "
  route_config << "resources :#{file_name.pluralize}"
  route_config << " end"
  route route_config
end

#create_base_controllerObject



16
17
18
19
20
# File 'lib/generators/admin_view_generator.rb', line 16

def create_base_controller
  empty_directory "app/controllers/admin"
  path = File.join("app/controllers/admin", "base_controller.rb")
  template("base_controller.rb", path) unless File.exists?(path)
end

#create_base_controller_specObject



22
23
24
25
26
# File 'lib/generators/admin_view_generator.rb', line 22

def create_base_controller_spec
  empty_directory "spec/controllers/admin"
  path = File.join("spec/controllers/admin", "base_controller_spec.rb")
  template("base_controller_spec.rb", path) unless File.exists?(path)
end

#create_controllerObject



28
29
30
# File 'lib/generators/admin_view_generator.rb', line 28

def create_controller
  template "controller.rb", File.join("app/controllers/admin", "#{controller_file_name}_controller.rb")
end

#create_controller_rspecObject



32
33
34
# File 'lib/generators/admin_view_generator.rb', line 32

def create_controller_rspec
  template "controller_spec.rb", File.join("spec/controllers/admin", "#{controller_file_name}_controller_spec.rb")
end

#create_helperObject



36
37
38
39
# File 'lib/generators/admin_view_generator.rb', line 36

def create_helper
  empty_directory "app/helpers/admin"
  template "base_helper.rb", File.join("app/helpers/admin", "base_helper.rb")
end

#create_viewsObject



41
42
43
44
45
46
47
# File 'lib/generators/admin_view_generator.rb', line 41

def create_views
  empty_directory "app/views/admin/#{controller_file_name}"
  @attributes = get_model_columns
  available_views.each do |view|
    template "views/#{view}.html.erb", File.join("app/views/admin", controller_file_name, "#{view}.html.erb")
  end
end