Class: ActiveExtGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/active_ext/active_ext_generator.rb

Instance Method Summary collapse

Instance Method Details

#application_class_nameObject



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

def application_class_name
  @application.classify
end

#application_file_nameObject



24
25
26
# File 'lib/generators/active_ext/active_ext_generator.rb', line 24

def application_file_name
  @application.underscore
end

#container_class_nameObject



36
37
38
# File 'lib/generators/active_ext/active_ext_generator.rb', line 36

def container_class_name
  @container.classify
end

#container_file_nameObject



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

def container_file_name
  @container.underscore
end

#generate_active_extObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/generators/active_ext/active_ext_generator.rb', line 6

def generate_active_ext
  #check_class_collision :suffix => "Controller"
  
  #controller
  template "controllers/controller_template.erb", File.join("app/controllers/erp_app",container_file_name,application_file_name,"#{file_name}_controller.rb")
  
  #javascript
  template "public/module.js.erb", File.join("public/javascripts/erp_app",container_file_name,"applications",application_file_name,"#{file_name}_active_ext.js")

  #views
  for action in scaffold_views
    copy_file "views/#{action}.html.erb", File.join('app/views/erp_app', container_file_name, application_file_name, file_name, "#{action}.html.erb")
  end
  
  #route
  route "match \"/erp_app/#{container_file_name}/#{application_file_name}/#{file_name}/:action(/:id)\" => \"erp_app/#{container_file_name}/#{application_file_name}/#{file_name}#index\""
end

#scaffold_viewsObject



40
41
42
# File 'lib/generators/active_ext/active_ext_generator.rb', line 40

def scaffold_views
  %w[create edit new show update]
end