31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
# File 'lib/generators/msip/asociabasica_generator.rb', line 31
def genera_asociabasica
if ENV["DISABLE_SPRING"].to_i != 1
Rails.logger.debug("Ejecutar con DISABLE_SPRING=1")
return
end
if options.belongs_to
Rails.logger.debug { "Para asociar #{tablabasica} con belongs_to en #{tabla2}:" }
Rails.logger.debug do
"Cree migracion que incluya
add_column :#{tabla2}, :#{nom_arch}_id, :integer
add_foreign_key :#{tabla2}, :#{nom_arch}, column: #{nom_arch}_id"
end
if File.readlines("app/models/#{tabla2}.rb").grep(/#{nom_arch}/).empty?
Rails.logger.debug do
"Aregue a 'app/models/#{tabla2}.rb'
belongs_to :#{nom_arch}, class_name: \"#{nom_clase}\",
foreign_key: \"#{nom_arch}_id\", validate: true"
end
Rails.logger.debug do
"Aregue a 'app/models/#{nom_arch}.rb'
has_many :#{tabla2},
class_name: \"#{tabla2.capitalize}\",
foreign_key: \"#{nom_arch}_id\",
validate: true"
end
end
Rails.logger.debug do
"Modifique la vista que edita el modelo agregando
<%= f.association :#{nom_arch},
collection: ::#{nom_clase}.habilitados,
include_blank: false,
label_method: :nombre,
value_method: :id
%> "
end
Rails.logger.debug do
"Modifique funcion estilo #{tabla2}_params en " \
"el controlador de la vista cambiada para agregar #{nom_arch}"
end
else
Rails.logger.debug { "Para asociar #{tablabasica} con has_many en #{tabla2}:" }
Rails.logger.debug do
"Cree migracion que incluya
create_join_table :#{tabla2}, :#{tablabasica},
table_name: :#{tabla2}_#{tablabasica}
add_foreign_key :#{tabla2}_#{tablabasica}, :#{tablabasica},
column: :#{tabla2}_id
add_foreign_key :#{tabla2}_#{tablabasica}, :#{tabla2},
column: :#{tabla2}_id, primary_key: :id"
end
Rails.logger.debug("Y de requerirse migre datos existentes")
Rails.logger.debug("Cree modelo para tabal combinada con")
Rails.logger.debug do
"
class AcompanamientoCasosjr < ActiveRecord::Base
belongs_to :sivel2_sjr_casosjr, class_name: 'Sivel2Sjr::Casosjr',
foreign_key: 'sivel2_sjr_casosjr_id', validate: true
belongs_to :acompanamiento, class_name: '::Acompanamiento',
foreign_key: 'acompanamiento_id', validate: true
end
"
end
Rails.logger.debug("Agregue titulos por presentar en vistas en config/locale/es.yml")
if File.readlines("app/models/#{tabla2}.rb").grep(/#{nom_arch}/).empty?
Rails.logger.debug do
"Aregue a 'app/models/#{tabla2}.rb'
has_many :#{tabla2}_#{tablabasica},
class_name: \"::#{tabla2}#{nom_clase}\",
foreign_key: \"#{tabla2}_id\", validate: true
has_many :#{tablabasica}, through: :#{tabla2}_#{tablabasica},
class_name: \"::#{nom_clase}\" "
end
end
Rails.logger.debug do
"Modifique la vista que edita el modelo #{tabla2} agregando
<%= f.association :#{nom_arch},
collection: ::#{nom_clase}.habilitados,
include_blank: false,
label_method: :nombre,
value_method: :id
%> "
end
Rails.logger.debug do
"Modifique funcion estilo #{tabla2}_params en " \
"el controlador de la vista cambiada para agregar #{nom_arch}_ids => []"
end
end
Rails.logger.debug { "Modifique la vista show de #{tabla2} y otras que la presenten" }
end
|