Class: RaroCrud

Inherits:
Object
  • Object
show all
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 =
{}
@@search_fields =
{}
@@test_fields =
{}
{}
@@title =
{}
@@subtitle_index =
{}
@@description_index =
{}
@@actions =
{}
{}
@@edit_action =
{}
@@condition_edit_action =
{}
@@destroy_action =
{}
@@condition_destroy_action =
{}
@@view_action =
{}
@@condition_view_action =
{}
{}
@@scopes =
{}
[]
@@layout =
{}
@@index_path =
nil

Class Method Summary collapse

Class Method Details

.acoes(method, desc, proc = nil) ⇒ Object



321
322
323
324
# File 'app/raro_crud/raro_crud.rb', line 321

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,desc,proc])
end

.actionsObject



120
121
122
# File 'app/raro_crud/raro_crud.rb', line 120

def self.actions
  (@@actions[self.to_s.to_sym]) ? @@actions[self.to_s.to_sym] : []
end


124
125
126
# File 'app/raro_crud/raro_crud.rb', line 124

def self.actions_links
  (@@links[self.to_s.to_sym]) ? @@links[self.to_s.to_sym] : []
end

.add_menus(menu) ⇒ Object



160
161
162
# File 'app/raro_crud/raro_crud.rb', line 160

def self.add_menus(menu)
  @@menus << menu
end

.adicionar_enderecoObject



361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
# File 'app/raro_crud/raro_crud.rb', line 361

def self.adicionar_endereco
  @@form_fields[self.to_s.to_sym] = [] unless @@form_fields[self.to_s.to_sym]
  opts = {}
  opts[:fields] = []
  [
   {campo: :cep,  label: "CEP"},
   {campo: :logradouro,  label: "Endereço"},
   {campo: :numero,  label: "Número"},
   {campo: :complemento,  label: "Complemento"},
   {campo: :bairro,  label: "Bairro"},
   {campo: :estado,  label: "Estado", collection: Estado.order(:sigla).pluck(:sigla)},
   {campo: :cidade_id,  label: "Cidade", 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)
    opts[:fields].push({attribute: attribute,sf: field})
  end
  opts[:grupo] = true
  @@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

.campo_busca(nome, opts = nil) ⇒ Object



288
289
290
291
292
293
294
295
# File 'app/raro_crud/raro_crud.rb', line 288

def self.campo_busca nome, opts = nil
  @@search_fields[self.to_s.to_sym] = [] unless @@search_fields[self.to_s.to_sym]
  @@search_fields[self.to_s.to_sym].push(
    {
      attribute: nome
    }.merge({sf: opts})
  )
end

.campo_visualizacao(nome, opts = nil) ⇒ Object



279
280
281
282
283
284
285
286
# File 'app/raro_crud/raro_crud.rb', line 279

def self.campo_visualizacao nome, opts = nil
  @@view_fields[self.to_s.to_sym] = [] unless @@view_fields[self.to_s.to_sym]
  @@view_fields[self.to_s.to_sym].push(
    {
      attribute: nome
    }.merge({sf: opts})
  )
end

.condition_destroy_actionObject



58
59
60
# File 'app/raro_crud/raro_crud.rb', line 58

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_actionObject



46
47
48
# File 'app/raro_crud/raro_crud.rb', line 46

def self.condition_edit_action
  (@@condition_edit_action[self.to_s.to_sym]) ? @@condition_edit_action[self.to_s.to_sym] : nil
end

.condition_view_actionObject



70
71
72
# File 'app/raro_crud/raro_crud.rb', line 70

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



97
98
99
100
101
102
# File 'app/raro_crud/raro_crud.rb', line 97

def self.description(type)
  case type
  when :index
    @@description_index[self.to_s.to_sym]
  end
end

.destroy_actionObject



50
51
52
53
54
55
56
# File 'app/raro_crud/raro_crud.rb', line 50

def self.destroy_action
  if @@destroy_action[self.to_s.to_sym] == false
    return false
  else
    return true
  end
end

.edicao(condicao) ⇒ Object



309
310
311
# File 'app/raro_crud/raro_crud.rb', line 309

def self.edicao(condicao)
  @@condition_edit_action[self.to_s.to_sym] = condicao
end

.edit_actionObject



29
30
31
32
33
34
35
# File 'app/raro_crud/raro_crud.rb', line 29

def self.edit_action
  if @@edit_action[self.to_s.to_sym] == false
    return false
  else
    return true
  end
end

.escopos(scopes) ⇒ Object



336
337
338
# File 'app/raro_crud/raro_crud.rb', line 336

def self.escopos(scopes)
  @@scopes[self.to_s.to_sym] = scopes
end

.exclusao(condicao) ⇒ Object



317
318
319
# File 'app/raro_crud/raro_crud.rb', line 317

def self.exclusao(condicao)
  @@condition_destroy_action[self.to_s.to_sym] = condicao
end

.form_fieldsObject



132
133
134
# File 'app/raro_crud/raro_crud.rb', line 132

def self.form_fields
  (@@form_fields[self.to_s.to_sym]) ? @@form_fields[self.to_s.to_sym]  : []
end

.form_groupsObject



136
137
138
# File 'app/raro_crud/raro_crud.rb', line 136

def self.form_groups
  (@@form_group[self.to_s.to_sym]) ? @@form_group[self.to_s.to_sym]  : []
end

.form_scriptsObject



140
141
142
# File 'app/raro_crud/raro_crud.rb', line 140

def self.form_scripts
  (@@form_scripts[self.to_s.to_sym]) ? @@form_scripts[self.to_s.to_sym]  : []
end

.get_index_pathObject



82
83
84
# File 'app/raro_crud/raro_crud.rb', line 82

def self.get_index_path
  @@index_path
end

.grupo_formulario(attribute, name, fields = nil) ⇒ Object



340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
# File 'app/raro_crud/raro_crud.rb', line 340

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] = {label: name, 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

.index_fieldsObject



108
109
110
# File 'app/raro_crud/raro_crud.rb', line 108

def self.index_fields
  (@@index_fields[self.to_s.to_sym]) ? @@index_fields[self.to_s.to_sym] : []
end

.index_path(str) ⇒ Object



78
79
80
# File 'app/raro_crud/raro_crud.rb', line 78

def self.index_path str
  @@index_path = str
end

.layoutObject



37
38
39
# File 'app/raro_crud/raro_crud.rb', line 37

def self.layout
  (@@layout[self.to_s.to_sym]) ? @@layout[self.to_s.to_sym] : []
end


326
327
328
329
# File 'app/raro_crud/raro_crud.rb', line 326

def self.links(name,options)
  @@links[self.to_s.to_sym] = [] unless @@links[self.to_s.to_sym]
  @@links[self.to_s.to_sym].push([name,options])
end


164
165
166
# File 'app/raro_crud/raro_crud.rb', line 164

def self.menus
  @@menus
end

.opcoes(link, desc, proc = nil) ⇒ Object



331
332
333
334
# File 'app/raro_crud/raro_crud.rb', line 331

def self.opcoes(link,desc,proc = nil)
  @@options_link[self.to_s.to_sym] = [] unless @@options_link[self.to_s.to_sym]
  @@options_link[self.to_s.to_sym].push([link,desc,proc])
end


128
129
130
# File 'app/raro_crud/raro_crud.rb', line 128

def self.options_link
  (@@options_link[self.to_s.to_sym]) ? @@options_link[self.to_s.to_sym] : []
end

.order_fieldObject



112
113
114
# File 'app/raro_crud/raro_crud.rb', line 112

def self.order_field
  (@@order_field[self.to_s.to_sym]).present? ? @@order_field[self.to_s.to_sym] : "id"
end

.per_pageObject



116
117
118
# File 'app/raro_crud/raro_crud.rb', line 116

def self.per_page
  @@per_page[self.to_s.to_sym]
end

.root_pathObject



74
75
76
# File 'app/raro_crud/raro_crud.rb', line 74

def self.root_path
  self.to_s.gsub('Crud', '').underscore
end

.scopesObject



156
157
158
# File 'app/raro_crud/raro_crud.rb', line 156

def self.scopes
  (@@scopes[self.to_s.to_sym]) ? @@scopes[self.to_s.to_sym]  : []
end

.script_formulario(script) ⇒ Object



388
389
390
391
# File 'app/raro_crud/raro_crud.rb', line 388

def self.script_formulario(script)
  @@form_scripts[self.to_s.to_sym] ||= []
  @@form_scripts[self.to_s.to_sym] << script.to_s
end

.search_fieldsObject



148
149
150
# File 'app/raro_crud/raro_crud.rb', line 148

def self.search_fields
  (@@search_fields[self.to_s.to_sym]) ? @@search_fields[self.to_s.to_sym]  : []
end

.sem_edicaoObject



305
306
307
# File 'app/raro_crud/raro_crud.rb', line 305

def self.sem_edicao
  @@edit_action[self.to_s.to_sym] = false
end

.sem_exclusaoObject



313
314
315
# File 'app/raro_crud/raro_crud.rb', line 313

def self.sem_exclusao
  @@destroy_action[self.to_s.to_sym] = false
end

.sem_visualizacaoObject



297
298
299
# File 'app/raro_crud/raro_crud.rb', line 297

def self.sem_visualizacao
  @@view_action[self.to_s.to_sym] = false
end

.set_layout(desc, proc = nil) ⇒ Object



41
42
43
44
# File 'app/raro_crud/raro_crud.rb', line 41

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



90
91
92
93
94
95
# File 'app/raro_crud/raro_crud.rb', line 90

def self.subtitle(type)
  case type
  when :index
    @@subtitle_index[self.to_s.to_sym]
  end
end

.test_fieldsObject



152
153
154
# File 'app/raro_crud/raro_crud.rb', line 152

def self.test_fields
  (@@test_fields[self.to_s.to_sym]) ? @@test_fields[self.to_s.to_sym]  : []
end

.titleObject



86
87
88
# File 'app/raro_crud/raro_crud.rb', line 86

def self.title
  @@title[self.to_s.to_sym]
end


104
105
106
# File 'app/raro_crud/raro_crud.rb', line 104

def self.top_links 
  (@@top_links[self.to_s.to_sym]) ? @@top_links[self.to_s.to_sym] : []
end

.view_actionObject



62
63
64
65
66
67
68
# File 'app/raro_crud/raro_crud.rb', line 62

def self.view_action
  if @@view_action[self.to_s.to_sym] == false
    return false
  else
    return true
  end
end

.view_fieldsObject



144
145
146
# File 'app/raro_crud/raro_crud.rb', line 144

def self.view_fields
  (@@view_fields[self.to_s.to_sym]) ? @@view_fields[self.to_s.to_sym]  : []
end

.visualizacao(condicao) ⇒ Object



301
302
303
# File 'app/raro_crud/raro_crud.rb', line 301

def self.visualizacao(condicao)
  @@condition_view_action[self.to_s.to_sym] = condicao
end