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 =
{}
[]
@@index_path =
nil

Class Method Summary collapse

Class Method Details

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



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

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



110
111
112
# File 'app/raro_crud/raro_crud.rb', line 110

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


114
115
116
# File 'app/raro_crud/raro_crud.rb', line 114

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

.add_menus(menu) ⇒ Object



150
151
152
# File 'app/raro_crud/raro_crud.rb', line 150

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

.adicionar_enderecoObject



351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
# File 'app/raro_crud/raro_crud.rb', line 351

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



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

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



269
270
271
272
273
274
275
276
# File 'app/raro_crud/raro_crud.rb', line 269

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



48
49
50
# File 'app/raro_crud/raro_crud.rb', line 48

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



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

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



60
61
62
# File 'app/raro_crud/raro_crud.rb', line 60

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



87
88
89
90
91
92
# File 'app/raro_crud/raro_crud.rb', line 87

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

.destroy_actionObject



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

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

.edicao(condicao) ⇒ Object



299
300
301
# File 'app/raro_crud/raro_crud.rb', line 299

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

.edit_actionObject



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

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

.escopos(scopes) ⇒ Object



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

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

.exclusao(condicao) ⇒ Object



307
308
309
# File 'app/raro_crud/raro_crud.rb', line 307

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

.form_fieldsObject



122
123
124
# File 'app/raro_crud/raro_crud.rb', line 122

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

.form_groupsObject



126
127
128
# File 'app/raro_crud/raro_crud.rb', line 126

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

.form_scriptsObject



130
131
132
# File 'app/raro_crud/raro_crud.rb', line 130

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

.get_index_pathObject



72
73
74
# File 'app/raro_crud/raro_crud.rb', line 72

def self.get_index_path
  @@index_path
end

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



330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'app/raro_crud/raro_crud.rb', line 330

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



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

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

.index_path(str) ⇒ Object



68
69
70
# File 'app/raro_crud/raro_crud.rb', line 68

def self.index_path str
  @@index_path = str
end


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

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


154
155
156
# File 'app/raro_crud/raro_crud.rb', line 154

def self.menus
  @@menus
end

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



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

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


118
119
120
# File 'app/raro_crud/raro_crud.rb', line 118

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

.order_fieldObject



102
103
104
# File 'app/raro_crud/raro_crud.rb', line 102

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

.per_pageObject



106
107
108
# File 'app/raro_crud/raro_crud.rb', line 106

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

.root_pathObject



64
65
66
# File 'app/raro_crud/raro_crud.rb', line 64

def self.root_path
  "/crud/#{self.to_s.gsub('Crud', '').underscore}"
end

.scopesObject



146
147
148
# File 'app/raro_crud/raro_crud.rb', line 146

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

.script_formulario(script) ⇒ Object



378
379
380
381
# File 'app/raro_crud/raro_crud.rb', line 378

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



138
139
140
# File 'app/raro_crud/raro_crud.rb', line 138

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

.sem_edicaoObject



295
296
297
# File 'app/raro_crud/raro_crud.rb', line 295

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

.sem_exclusaoObject



303
304
305
# File 'app/raro_crud/raro_crud.rb', line 303

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

.sem_visualizacaoObject



287
288
289
# File 'app/raro_crud/raro_crud.rb', line 287

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

.subtitle(type) ⇒ Object



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

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

.test_fieldsObject



142
143
144
# File 'app/raro_crud/raro_crud.rb', line 142

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

.titleObject



76
77
78
# File 'app/raro_crud/raro_crud.rb', line 76

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


94
95
96
# File 'app/raro_crud/raro_crud.rb', line 94

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

.view_actionObject



52
53
54
55
56
57
58
# File 'app/raro_crud/raro_crud.rb', line 52

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

.view_fieldsObject



134
135
136
# File 'app/raro_crud/raro_crud.rb', line 134

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

.visualizacao(condicao) ⇒ Object



291
292
293
# File 'app/raro_crud/raro_crud.rb', line 291

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