Class: RaroCrud
- Inherits:
-
Object
- Object
- RaroCrud
- Defined in:
- app/raro_crud/raro_crud.rb
Constant Summary collapse
- @@order_field =
{}
- @@per_page =
{}
- @@index_fields =
{}
- @@form_fields =
{}
- @@form_group =
{}
- @@form_scripts =
{}
- @@view_fields =
{}
- @@listing_fields =
{}
- @@printing_fields =
{}
- @@logo_printing_field =
{}
- @@titulo_printing_field =
{}
- @@search_fields =
{}
- @@test_fields =
{}
- @@top_links =
{}
- @@title =
{}
- @@subtitle_index =
{}
- @@description_index =
{}
- @@actions =
{}
- @@links =
{}
- @@edit_action =
{}
- @@condition_edit_action =
{}
- @@destroy_action =
{}
- @@condition_destroy_action =
{}
- @@view_action =
{}
- @@condition_view_action =
{}
- @@condition_listing_action =
{}
- @@condition_listing_excel =
{}
- @@condition_listing_pdf =
{}
- @@condition_printing_action =
{}
- @@options_link =
{}
- @@scopes =
{}
[]
- @@layout =
{}
- @@includes =
{}
- @@index_path =
nil
Class Method Summary collapse
- .acoes(method, desc, proc = nil, options = {}) ⇒ Object
- .actions ⇒ Object
- .actions_links ⇒ Object
- .add_includes(includes) ⇒ Object
- .add_menus(menu) ⇒ Object
- .adicionar_endereco ⇒ Object
- .agrupar_campos(attribute, opts = {}, &block) ⇒ Object
- .campo_busca(nome, opts = {}) ⇒ Object
- .campo_visualizacao(nome, opts = {}) ⇒ Object
- .condition_destroy_action ⇒ Object
- .condition_edit_action ⇒ Object
- .condition_listing_action ⇒ Object
- .condition_listing_excel ⇒ Object
- .condition_listing_pdf ⇒ Object
- .condition_printing_action ⇒ Object
- .condition_view_action ⇒ Object
- .description(type) ⇒ Object
- .destroy_action ⇒ Object
- .edicao(condicao) ⇒ Object
- .edit_action ⇒ Object
- .escopos(scopes) ⇒ Object
- .exclusao(condicao) ⇒ Object
- .form_fields ⇒ Object
- .form_groups ⇒ Object
- .form_scripts ⇒ Object
- .get_index_path ⇒ Object
- .grupo_formulario(attribute, name, fields = nil) ⇒ Object
- .impressao(condicao) ⇒ Object
- .includes ⇒ Object
- .index_fields ⇒ Object
- .index_path(str) ⇒ Object
- .layout ⇒ Object
- .links(name, options) ⇒ Object
- .listagem(condicao) ⇒ Object
- .listagem_excel(condicao = nil) ⇒ Object
- .listagem_pdf(condicao = nil) ⇒ Object
- .listing_fields ⇒ Object
- .logo_printing_field ⇒ Object
- .menus ⇒ Object
- .opcoes(link, desc, proc = nil) ⇒ Object
- .options_link ⇒ Object
- .order_field ⇒ Object
- .per_page ⇒ Object
- .printing_fields ⇒ Object
- .relatorio_impressao(nome, opts = {}) ⇒ Object
- .relatorio_impressao_logo(field_or_url = nil, options = {}) ⇒ Object
- .relatorio_impressao_titulo(field_or_string = nil) ⇒ Object
- .relatorio_listagem(nome, opts = {}) ⇒ Object
- .root_path ⇒ Object
- .scopes ⇒ Object
- .script_formulario(script) ⇒ Object
- .search_fields ⇒ Object
- .sem_edicao ⇒ Object
- .sem_exclusao ⇒ Object
- .sem_visualizacao ⇒ Object
- .separar_formulario ⇒ Object
- .set_layout(desc, proc = nil) ⇒ Object
- .subtitle(type) ⇒ Object
- .test_fields ⇒ Object
- .title ⇒ Object
- .titulo_printing_field ⇒ Object
- .top_links ⇒ Object
- .view_action ⇒ Object
- .view_fields ⇒ Object
- .visualizacao(condicao) ⇒ Object
Instance Method Summary collapse
Class Method Details
.acoes(method, desc, proc = nil, options = {}) ⇒ Object
329 330 331 332 |
# File 'app/raro_crud/raro_crud.rb', line 329 def self.acoes(method, desc, proc = nil, ={}) @@actions[self.to_s.to_sym] = [] unless @@actions[self.to_s.to_sym] @@actions[self.to_s.to_sym].push({method: method, desc: desc, proc: proc, options: }) end |
.actions ⇒ Object
150 151 152 |
# File 'app/raro_crud/raro_crud.rb', line 150 def self.actions @@actions[self.to_s.to_sym] || [] end |
.actions_links ⇒ Object
154 155 156 |
# File 'app/raro_crud/raro_crud.rb', line 154 def self.actions_links @@links[self.to_s.to_sym] || [] end |
.add_includes(includes) ⇒ Object
417 418 419 |
# File 'app/raro_crud/raro_crud.rb', line 417 def self.add_includes(includes) @@includes[self.to_s.to_sym] = includes end |
.add_menus(menu) ⇒ Object
206 207 208 |
# File 'app/raro_crud/raro_crud.rb', line 206 def self.() << end |
.adicionar_endereco ⇒ Object
383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 |
# File 'app/raro_crud/raro_crud.rb', line 383 def self.adicionar_endereco @@form_fields[self.to_s.to_sym] = [] unless @@form_fields[self.to_s.to_sym] opts = {} opts[:fields] = [] [ {campo: :cep, input_html: {class: "mask-cep"}}, {campo: :logradouro}, {campo: :numero}, {campo: :complemento}, {campo: :bairro}, {campo: :estado, collection: Estado.order(:sigla).pluck(:sigla)}, {campo: :cidade_id, collection_if: Proc.new{|f| f.try(:object).try(:estado).try(:present?) ? (f.try(:object).try(:estado).try(:cidades) || []) : []}} ].each do |field| attribute = field[:campo] field.delete(:campo) field[:label] ||= "shared.#{attribute}" opts[:fields].push({attribute: attribute,sf: field}) end opts[:grupo] = true opts[:label] ||= "shared.adicionar_endereco" @@form_fields[self.to_s.to_sym].push( { attribute: :endereco }.merge({sf: opts}) ) @@form_scripts[self.to_s.to_sym] ||= [] @@form_scripts[self.to_s.to_sym] << "cidade_estado" end |
.agrupar_campos(attribute, opts = {}, &block) ⇒ Object
348 349 350 351 352 353 354 355 356 |
# File 'app/raro_crud/raro_crud.rb', line 348 def self.agrupar_campos(attribute, opts = {}, &block) if opts[:label] @agrupamento = opts[:label] else @agrupamento = "simple_form.labels.#{self.modelo.underscore}.#{attribute}" end block.call @agrupamento = nil end |
.campo_busca(nome, opts = {}) ⇒ Object
228 229 230 231 232 233 234 235 236 |
# File 'app/raro_crud/raro_crud.rb', line 228 def self.campo_busca(nome, opts = {}) @@search_fields[self.to_s.to_sym] ||= [] opts = set_default_label nome, opts @@search_fields[self.to_s.to_sym].push( { attribute: nome }.merge({sf: opts}) ) end |
.campo_visualizacao(nome, opts = {}) ⇒ Object
218 219 220 221 222 223 224 225 226 |
# File 'app/raro_crud/raro_crud.rb', line 218 def self.campo_visualizacao(nome, opts = {}) @@view_fields[self.to_s.to_sym] ||= [] opts = set_default_label nome, opts @@view_fields[self.to_s.to_sym].push( { attribute: nome }.merge({sf: opts}) ) end |
.condition_destroy_action ⇒ Object
76 77 78 |
# File 'app/raro_crud/raro_crud.rb', line 76 def self.condition_destroy_action (@@condition_destroy_action[self.to_s.to_sym]) ? @@condition_destroy_action[self.to_s.to_sym] : nil end |
.condition_edit_action ⇒ Object
64 65 66 |
# File 'app/raro_crud/raro_crud.rb', line 64 def self.condition_edit_action (@@condition_edit_action[self.to_s.to_sym]) ? @@condition_edit_action[self.to_s.to_sym] : nil end |
.condition_listing_action ⇒ Object
92 93 94 |
# File 'app/raro_crud/raro_crud.rb', line 92 def self.condition_listing_action (@@condition_listing_action[self.to_s.to_sym]) ? @@condition_listing_action[self.to_s.to_sym] : nil end |
.condition_listing_excel ⇒ Object
96 97 98 |
# File 'app/raro_crud/raro_crud.rb', line 96 def self.condition_listing_excel (@@condition_listing_excel[self.to_s.to_sym]) ? @@condition_listing_excel[self.to_s.to_sym] : nil end |
.condition_listing_pdf ⇒ Object
100 101 102 |
# File 'app/raro_crud/raro_crud.rb', line 100 def self.condition_listing_pdf (@@condition_listing_pdf[self.to_s.to_sym]) ? @@condition_listing_pdf[self.to_s.to_sym] : nil end |
.condition_printing_action ⇒ Object
104 105 106 |
# File 'app/raro_crud/raro_crud.rb', line 104 def self.condition_printing_action (@@condition_printing_action[self.to_s.to_sym]) ? @@condition_printing_action[self.to_s.to_sym] : nil end |
.condition_view_action ⇒ Object
88 89 90 |
# File 'app/raro_crud/raro_crud.rb', line 88 def self.condition_view_action (@@condition_view_action[self.to_s.to_sym]) ? @@condition_view_action[self.to_s.to_sym] : nil end |
.description(type) ⇒ Object
127 128 129 130 131 132 |
# File 'app/raro_crud/raro_crud.rb', line 127 def self.description(type) case type when :index @@description_index[self.to_s.to_sym] end end |
.destroy_action ⇒ Object
68 69 70 71 72 73 74 |
# File 'app/raro_crud/raro_crud.rb', line 68 def self.destroy_action if @@destroy_action[self.to_s.to_sym] == false return false else return true end end |
.edicao(condicao) ⇒ Object
301 302 303 |
# File 'app/raro_crud/raro_crud.rb', line 301 def self.edicao(condicao) @@condition_edit_action[self.to_s.to_sym] = condicao end |
.edit_action ⇒ Object
47 48 49 50 51 52 53 |
# File 'app/raro_crud/raro_crud.rb', line 47 def self.edit_action if @@edit_action[self.to_s.to_sym] == false return false else return true end end |
.escopos(scopes) ⇒ Object
344 345 346 |
# File 'app/raro_crud/raro_crud.rb', line 344 def self.escopos(scopes) @@scopes[self.to_s.to_sym] = scopes end |
.exclusao(condicao) ⇒ Object
309 310 311 |
# File 'app/raro_crud/raro_crud.rb', line 309 def self.exclusao(condicao) @@condition_destroy_action[self.to_s.to_sym] = condicao end |
.form_fields ⇒ Object
162 163 164 |
# File 'app/raro_crud/raro_crud.rb', line 162 def self.form_fields @@form_fields[self.to_s.to_sym] || [] end |
.form_groups ⇒ Object
166 167 168 |
# File 'app/raro_crud/raro_crud.rb', line 166 def self.form_groups @@form_group[self.to_s.to_sym] || [] end |
.form_scripts ⇒ Object
170 171 172 |
# File 'app/raro_crud/raro_crud.rb', line 170 def self.form_scripts @@form_scripts[self.to_s.to_sym] || [] end |
.get_index_path ⇒ Object
116 117 118 |
# File 'app/raro_crud/raro_crud.rb', line 116 def self.get_index_path @@index_path end |
.grupo_formulario(attribute, name, fields = nil) ⇒ Object
362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 |
# File 'app/raro_crud/raro_crud.rb', line 362 def self.grupo_formulario(attribute, name, fields=nil) if fields.nil? fields = name name = attribute.to_s.singularize.titleize end @@form_group[self.to_s.to_sym] ||= {} @@form_group[self.to_s.to_sym][attribute] = {fields: []} fields.each do |field| value = {} field.each do |atr| if atr[0] == :campo value[:attribute] = atr[1] else value[:sf] ||= {} value[:sf][atr[0]] = atr[1] end end @@form_group[self.to_s.to_sym][attribute][:fields].push({attribute: value[:attribute], sf: value[:sf]}) end end |
.impressao(condicao) ⇒ Object
325 326 327 |
# File 'app/raro_crud/raro_crud.rb', line 325 def self.impressao(condicao) @@condition_printing_action[self.to_s.to_sym] = condicao end |
.includes ⇒ Object
214 215 216 |
# File 'app/raro_crud/raro_crud.rb', line 214 def self.includes @@includes[self.to_s.to_sym] || [] end |
.index_fields ⇒ Object
138 139 140 |
# File 'app/raro_crud/raro_crud.rb', line 138 def self.index_fields @@index_fields[self.to_s.to_sym] || [] end |
.index_path(str) ⇒ Object
112 113 114 |
# File 'app/raro_crud/raro_crud.rb', line 112 def self.index_path str @@index_path = str end |
.layout ⇒ Object
55 56 57 |
# File 'app/raro_crud/raro_crud.rb', line 55 def self.layout (@@layout[self.to_s.to_sym]) ? @@layout[self.to_s.to_sym] : [] end |
.links(name, options) ⇒ Object
334 335 336 337 |
# File 'app/raro_crud/raro_crud.rb', line 334 def self.links(name, ) @@links[self.to_s.to_sym] = [] unless @@links[self.to_s.to_sym] @@links[self.to_s.to_sym].push([name, ]) end |
.listagem(condicao) ⇒ Object
313 314 315 |
# File 'app/raro_crud/raro_crud.rb', line 313 def self.listagem(condicao) @@condition_listing_action[self.to_s.to_sym] = condicao end |
.listagem_excel(condicao = nil) ⇒ Object
317 318 319 |
# File 'app/raro_crud/raro_crud.rb', line 317 def self.listagem_excel(condicao = nil) @@condition_listing_excel[self.to_s.to_sym] = condicao end |
.listagem_pdf(condicao = nil) ⇒ Object
321 322 323 |
# File 'app/raro_crud/raro_crud.rb', line 321 def self.listagem_pdf(condicao = nil) @@condition_listing_pdf[self.to_s.to_sym] = condicao end |
.listing_fields ⇒ Object
178 179 180 |
# File 'app/raro_crud/raro_crud.rb', line 178 def self.listing_fields @@listing_fields[self.to_s.to_sym] || [] end |
.logo_printing_field ⇒ Object
186 187 188 |
# File 'app/raro_crud/raro_crud.rb', line 186 def self.logo_printing_field @@logo_printing_field[self.to_s.to_sym] end |
.menus ⇒ Object
210 211 212 |
# File 'app/raro_crud/raro_crud.rb', line 210 def self. end |
.opcoes(link, desc, proc = nil) ⇒ Object
339 340 341 342 |
# File 'app/raro_crud/raro_crud.rb', line 339 def self.opcoes(link, desc, proc = nil) [self.to_s.to_sym] = [] unless [self.to_s.to_sym] [self.to_s.to_sym].push([link, desc, proc]) end |
.options_link ⇒ Object
158 159 160 |
# File 'app/raro_crud/raro_crud.rb', line 158 def self. [self.to_s.to_sym] || [] end |
.order_field ⇒ Object
142 143 144 |
# File 'app/raro_crud/raro_crud.rb', line 142 def self.order_field (@@order_field[self.to_s.to_sym]).present? ? @@order_field[self.to_s.to_sym] : "id" end |
.per_page ⇒ Object
146 147 148 |
# File 'app/raro_crud/raro_crud.rb', line 146 def self.per_page @@per_page[self.to_s.to_sym] end |
.printing_fields ⇒ Object
182 183 184 |
# File 'app/raro_crud/raro_crud.rb', line 182 def self.printing_fields @@printing_fields[self.to_s.to_sym] || [] end |
.relatorio_impressao(nome, opts = {}) ⇒ Object
247 248 249 250 251 252 253 254 |
# File 'app/raro_crud/raro_crud.rb', line 247 def self.relatorio_impressao(nome, opts = {}) @@printing_fields[self.to_s.to_sym] ||= [] opts = set_default_label nome, opts @@printing_fields[self.to_s.to_sym].push({ attribute: nome, sf: opts }) end |
.relatorio_impressao_logo(field_or_url = nil, options = {}) ⇒ Object
256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 |
# File 'app/raro_crud/raro_crud.rb', line 256 def self.relatorio_impressao_logo(field_or_url = nil, = {}) url = nil field = nil if field_or_url.blank? url = Templus.logo elsif field_or_url.is_a?(String) url = field_or_url else field = field_or_url end @@logo_printing_field[self.to_s.to_sym] = { url: url, field: field, sf: } end |
.relatorio_impressao_titulo(field_or_string = nil) ⇒ Object
274 275 276 277 278 279 280 281 282 283 284 285 286 287 |
# File 'app/raro_crud/raro_crud.rb', line 274 def self.relatorio_impressao_titulo(field_or_string = nil) field = nil titulo = nil if field_or_string.is_a?(String) titulo = field_or_string elsif field_or_string.present? field = field_or_string end @@titulo_printing_field[self.to_s.to_sym] = { field: field, titulo: titulo } end |
.relatorio_listagem(nome, opts = {}) ⇒ Object
238 239 240 241 242 243 244 245 |
# File 'app/raro_crud/raro_crud.rb', line 238 def self.relatorio_listagem(nome, opts = {}) @@listing_fields[self.to_s.to_sym] ||= [] opts = set_default_label nome, opts @@listing_fields[self.to_s.to_sym].push({ attribute: nome, sf: opts }) end |
.root_path ⇒ Object
108 109 110 |
# File 'app/raro_crud/raro_crud.rb', line 108 def self.root_path self.to_s.gsub('Crud', '').underscore end |
.scopes ⇒ Object
202 203 204 |
# File 'app/raro_crud/raro_crud.rb', line 202 def self.scopes @@scopes[self.to_s.to_sym] || [] end |
.script_formulario(script) ⇒ Object
412 413 414 415 |
# File 'app/raro_crud/raro_crud.rb', line 412 def self.script_formulario(script) @@form_scripts[self.to_s.to_sym] ||= [] @@form_scripts[self.to_s.to_sym] << script.to_s end |
.search_fields ⇒ Object
194 195 196 |
# File 'app/raro_crud/raro_crud.rb', line 194 def self.search_fields @@search_fields[self.to_s.to_sym] || [] end |
.sem_edicao ⇒ Object
297 298 299 |
# File 'app/raro_crud/raro_crud.rb', line 297 def self.sem_edicao @@edit_action[self.to_s.to_sym] = false end |
.sem_exclusao ⇒ Object
305 306 307 |
# File 'app/raro_crud/raro_crud.rb', line 305 def self.sem_exclusao @@destroy_action[self.to_s.to_sym] = false end |
.sem_visualizacao ⇒ Object
289 290 291 |
# File 'app/raro_crud/raro_crud.rb', line 289 def self.sem_visualizacao @@view_action[self.to_s.to_sym] = false end |
.separar_formulario ⇒ Object
358 359 360 |
# File 'app/raro_crud/raro_crud.rb', line 358 def self.separar_formulario @@form_fields[self.to_s.to_sym].last[:sf][:separador] = true end |
.set_layout(desc, proc = nil) ⇒ Object
59 60 61 62 |
# File 'app/raro_crud/raro_crud.rb', line 59 def self.set_layout(desc, proc = nil) @@layout[self.to_s.to_sym] = [] unless @@layout[self.to_s.to_sym] @@layout[self.to_s.to_sym] = [desc, proc] end |
.subtitle(type) ⇒ Object
120 121 122 123 124 125 |
# File 'app/raro_crud/raro_crud.rb', line 120 def self.subtitle(type) case type when :index @@subtitle_index[self.to_s.to_sym] end end |
.test_fields ⇒ Object
198 199 200 |
# File 'app/raro_crud/raro_crud.rb', line 198 def self.test_fields @@test_fields[self.to_s.to_sym] || [] end |
.title ⇒ Object
43 44 45 |
# File 'app/raro_crud/raro_crud.rb', line 43 def self.title I18n.t("rarocrud.#{self.modelo.underscore}.title") end |
.titulo_printing_field ⇒ Object
190 191 192 |
# File 'app/raro_crud/raro_crud.rb', line 190 def self.titulo_printing_field @@titulo_printing_field[self.to_s.to_sym] end |
.top_links ⇒ Object
134 135 136 |
# File 'app/raro_crud/raro_crud.rb', line 134 def self.top_links @@top_links[self.to_s.to_sym] || [] end |
.view_action ⇒ Object
80 81 82 83 84 85 86 |
# File 'app/raro_crud/raro_crud.rb', line 80 def self.view_action if @@view_action[self.to_s.to_sym] == false return false else return true end end |
.view_fields ⇒ Object
174 175 176 |
# File 'app/raro_crud/raro_crud.rb', line 174 def self.view_fields @@view_fields[self.to_s.to_sym] || [] end |
.visualizacao(condicao) ⇒ Object
293 294 295 |
# File 'app/raro_crud/raro_crud.rb', line 293 def self.visualizacao(condicao) @@condition_view_action[self.to_s.to_sym] = condicao end |
Instance Method Details
#modelo ⇒ Object
39 40 41 |
# File 'app/raro_crud/raro_crud.rb', line 39 def modelo self.to_s.gsub("Crud", "").constantize end |