Class: QueriesByTypeReport

Inherits:
GenericReport show all
Defined in:
lib/pqa.rb

Instance Method Summary collapse

Methods inherited from GenericReport

#applicable, #colorize, #initialize, #pctg_of, #round

Constructor Details

This class inherits a constructor from GenericReport

Instance Method Details

#create_reportObject



1165
1166
1167
1168
1169
1170
# File 'lib/pqa.rb', line 1165

def create_report
  [@log.queries.find_all {|q| q.is_select}.size,
  @log.queries.find_all {|q| q.is_insert}.size,
  @log.queries.find_all {|q| q.is_update}.size,
  @log.queries.find_all {|q| q.is_delete}.size]
end

#htmlObject



1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
# File 'lib/pqa.rb', line 1144

def html
  sel,ins,upd,del=create_report
  rpt = "<h3>#{title}</h3>\n"
  rpt << "<table><tr><th>Type</th><th>Count</th><th>Percentage</th>\n"
  rpt << "<tr><td>SELECT</td><td>#{sel}</td><td align=center>#{(pctg_of(sel, @log.queries.size)*100).to_i}</td></tr>\n" if sel > 0
  rpt << "<tr><td>INSERT</td><td>#{ins}</td><td align=center>#{(pctg_of(ins, @log.queries.size)*100).to_i}</td></tr>\n" if ins > 0
  rpt << "<tr><td>UPDATE</td><td>#{upd}</td><td align=center>#{(pctg_of(upd, @log.queries.size)*100).to_i}</td></tr>\n" if upd > 0
  rpt << "<tr><td>DELETE</td><td>#{del}</td><td align=center>#{(pctg_of(del, @log.queries.size)*100).to_i}</td></tr>\n" if del > 0
  rpt << "</table>\n"
end

#textObject



1155
1156
1157
1158
1159
1160
1161
1162
1163
# File 'lib/pqa.rb', line 1155

def text
  sel,ins,upd,del=create_report
  rpt = "######## #{title}\n"
  rpt << "SELECTs: #{sel.to_s.ljust(sel.to_s.size + 1)} (#{(pctg_of(sel, @log.queries.size)*100).to_i}%)\n" if sel > 0
  rpt << "INSERTs: #{ins.to_s.ljust(sel.to_s.size + 1)} (#{(pctg_of(ins, @log.queries.size)*100).to_i}%)\n" if ins > 0
  rpt << "UPDATEs: #{upd.to_s.ljust(upd.to_s.size + 1)} (#{(pctg_of(upd, @log.queries.size)*100).to_i}%)\n" if upd > 0
  rpt << "DELETEs: #{del.to_s.ljust(sel.to_s.size + 1)} (#{(pctg_of(del, @log.queries.size)*100).to_i}%)\n" if del > 0
  rpt
end

#titleObject



1140
1141
1142
# File 'lib/pqa.rb', line 1140

def title  
  "Queries by type"
end