Module: ErrorLog::Controller

Defined in:
lib/error_log/controller.rb

Instance Method Summary collapse

Instance Method Details

#deleteObject

destroy all archived logs with given error hash



71
72
73
74
75
76
77
# File 'lib/error_log/controller.rb', line 71

def delete
  logs = ErrorLog::Model.where(:viewed => true, :error_hash => params[:error_hash])
  logs.destroy_all
  render :update do |page|
    page[params[:row_div_id]].hide
  end
end

#delete_all_archivedObject



56
57
58
59
# File 'lib/error_log/controller.rb', line 56

def delete_all_archived
  ErrorLog::Model.where(:viewed => true).destroy_all
  redirect_to :back
end

#indexObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/error_log/controller.rb', line 8

def index

  prepare_opts

  scope = cat_scope = rev_scope = ErrorLog::Model

  scope = cat_scope = scope.where(:category => @opts[:category]) if @opts[:category] 
  scope = rev_scope = scope.where(:vcs_revision => @opts[:revision].empty? ? nil : @opts[:revision]) if @opts[:revision] 

  @error_logs = scope.all(
    :select => 'count(*) as count_all,
       min(created_at) as created_at_first, 
       max(created_at) as created_at_last,
       min(backtrace) as backtrace,
       min(error) as error,
       min(category) as category,
       min(params) as params,
       max(level_id) as level_id,
       error_hash',
    :order => @opts[:sort_by],
    :group => 'error_hash',
    :conditions => {
    :viewed => viewing_archive? 
  })


  @category_counts = rev_scope.count(
    :conditions => {:viewed => viewing_archive?},
    :group => :category 
  )

  @revisions = cat_scope.all(
    :select => 'vcs_revision, 
    min(created_at) as  created_at_first, 
    count(*) as count_all',
    :conditions => {:viewed => viewing_archive?},
    :group => :vcs_revision,
    :order => 'created_at_first'
  )

  render :template => '/index'
end

#set_all_viewedObject



51
52
53
54
# File 'lib/error_log/controller.rb', line 51

def set_all_viewed
  ErrorLog::Model.update_all(:viewed => true)
  redirect_to :back
end

#set_viewedObject

set all logs with given error hash viewed



62
63
64
65
66
67
68
# File 'lib/error_log/controller.rb', line 62

def set_viewed
  logs = ErrorLog::Model.where(:viewed => false, :error_hash => params[:error_hash])
  logs.update_all(:viewed => true)
  render :update do |page|
    page[params[:row_div_id]].hide
  end
end