Class: FoldGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/fold/fold_generator.rb

Instance Method Summary collapse

Constructor Details

#initialize(*arguments, &block) ⇒ FoldGenerator

Returns a new instance of FoldGenerator.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/generators/fold/fold_generator.rb', line 14

def initialize(*arguments, &block)
  super
  
  @con_orden   = options.orden?
  @con_slug    = options.slug?
 
  @singular = @name.downcase
  @plural   = @singular.pluralize
  @class    = @name.camelize
  @classes  = @plural.camelize
  
  @singular_path  = "admin_#{@singular}_path"
  @plural_path    = "admin_#{@plural}_path"
  @new_path       = "new_admin_#{@singular}_path"
  @edit_path      = "edit_admin_#{@singular}_path"
  @reordenar_path = "reordenar_admin_#{@plural}_path"

  @atributos = []
  arguments.first.drop(1).each do |arg|
    @atributos << Atributo.new(arg)
  end
  @identificador = @atributos.first.nombre

end

Instance Method Details

#bodyObject



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/generators/fold/fold_generator.rb', line 39

def body
  template 'model.erb'     , "app/models/#{@singular}.rb"
  template 'migration.erb' , "db/migrate/#{fecha}_create_#{@plural}.rb"
  template 'controller.erb', "app/controllers/#{@plural}_controller.rb"
  template 'admin_controller.erb', "app/controllers/admin/#{@plural}_controller.rb"
  
  %w[_form edit index new].each do |action| 
  template "views/#{action}.erb", "app/views/admin/#{@plural}/#{action}.html.erb"
  end
  template "views/nombre.erb", "app/views/admin/#{@plural}/_#{@singular}.html.erb"
  
  resources_route = @con_orden ? "\n    resources :#{@plural} do\n      post :reordenar, :on => :collection\n    end" : "\n    resources :#{@plural}"
  add_admin_route resources_route
    
  template 'cargar.erb', "lib/tasks/cargar_#{@plural}.rake"
end