Class: ActiveRecordQueryCount::Printer::Base
- Inherits:
-
Object
- Object
- ActiveRecordQueryCount::Printer::Base
show all
- Defined in:
- lib/active_record_query_count/printer/base.rb
Constant Summary
collapse
- TEMPLATE_PATH =
File.join(parent_dir, 'assets', 'template.html.erb')
- TEMPLATE_COMPARING_PATH =
File.join(parent_dir, 'assets', 'comparing.html.erb')
- CSS_PATH =
File.join(parent_dir, 'assets', 'style.css')
- JS_PATH =
File.join(parent_dir, 'assets', 'bar_chart.js')
- CHART_JS_CONTENT =
File.join(parent_dir, 'assets', 'chart.min.js')
- BASE_QUERY_COUNTER_PATH =
File.join(parent_dir, 'assets', 'template_base_query_counter.html.erb')
- INJECT_TEMPLATE_PATH =
File.join(parent_dir, 'assets', 'template_for_inject.html.erb')
Instance Method Summary
collapse
Instance Method Details
#base_query_counter_content ⇒ Object
67
68
69
|
# File 'lib/active_record_query_count/printer/base.rb', line 67
def base_query_counter_content
File.read(BASE_QUERY_COUNTER_PATH)
end
|
#chart_js_content ⇒ Object
51
52
53
|
# File 'lib/active_record_query_count/printer/base.rb', line 51
def chart_js_content
File.read(CHART_JS_CONTENT)
end
|
#css_content ⇒ Object
55
56
57
|
# File 'lib/active_record_query_count/printer/base.rb', line 55
def css_content
File.read(CSS_PATH)
end
|
#filter_data(data) ⇒ Object
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/active_record_query_count/printer/base.rb', line 14
def filter_data data
data.each_value do |info|
info[:location].each_value do |detail|
detail[:duration] = detail[:duration].truncate(2)
end
end
data = data.select { |_, v| v[:count] >= Configuration.ignore_table_count }
data = data.sort_by { |_, v| -v[:count] }.each do |_category, info|
info[:location] = info[:location].sort_by do |_, detail|
-detail[:count]
end.first(Configuration.max_locations_per_table).to_h
end
data.to_h
end
|
#inject_template_content ⇒ Object
71
72
73
|
# File 'lib/active_record_query_count/printer/base.rb', line 71
def inject_template_content
File.read(INJECT_TEMPLATE_PATH)
end
|
#js_content ⇒ Object
47
48
49
|
# File 'lib/active_record_query_count/printer/base.rb', line 47
def js_content
File.read(JS_PATH)
end
|
#open_file(html_dest) ⇒ Object
38
39
40
41
42
43
44
45
|
# File 'lib/active_record_query_count/printer/base.rb', line 38
def open_file html_dest
require 'launchy'
if ENV['WSL_DISTRIBUTION']
Launchy.open("file://wsl%24/#{ENV['WSL_DISTRIBUTION']}#{html_dest}")
else
Launchy.open(html_dest)
end
end
|
#sort_data(data) ⇒ Object
29
30
31
32
33
34
35
36
|
# File 'lib/active_record_query_count/printer/base.rb', line 29
def sort_data data
data = data.sort_by { |_, v| -v[:count] }.each do |_category, info|
info[:location] = info[:location].sort_by do |_, detail|
-detail[:count]
end.to_h
end
data.to_h
end
|
#template_comparing_content ⇒ Object
63
64
65
|
# File 'lib/active_record_query_count/printer/base.rb', line 63
def template_comparing_content
File.read(TEMPLATE_COMPARING_PATH)
end
|
#template_content ⇒ Object
59
60
61
|
# File 'lib/active_record_query_count/printer/base.rb', line 59
def template_content
File.read(TEMPLATE_PATH)
end
|