author | Marcel Hlopko <marcel@hlopko.com> |
Tue, 17 Nov 2015 15:05:38 +0100 | |
changeset 306 | 8050d8d3681f |
parent 241 | 6c56f95bddd3 |
permissions | -rw-r--r-- |
91
d430a8ac253d
comparison page kinda works
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff
changeset
|
1 |
class CompareQuery |
d430a8ac253d
comparison page kinda works
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff
changeset
|
2 |
include ActiveModel::Model |
d430a8ac253d
comparison page kinda works
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff
changeset
|
3 |
|
179
620d2ceb6ddc
change compare table to always show all configurations
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
111
diff
changeset
|
4 |
attr_accessor :benchmark_infos |
91
d430a8ac253d
comparison page kinda works
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff
changeset
|
5 |
|
d430a8ac253d
comparison page kinda works
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff
changeset
|
6 |
def initialize(*args) |
d430a8ac253d
comparison page kinda works
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff
changeset
|
7 |
super |
236
2565b32e93b3
Fix n+1 on compare page, get rid of unused code
Marcel Hlopko <marcel@hlopko.com>
parents:
179
diff
changeset
|
8 |
|
179
620d2ceb6ddc
change compare table to always show all configurations
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
111
diff
changeset
|
9 |
@benchmark_infos ||= {} |
91
d430a8ac253d
comparison page kinda works
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff
changeset
|
10 |
end |
d430a8ac253d
comparison page kinda works
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff
changeset
|
11 |
|
179
620d2ceb6ddc
change compare table to always show all configurations
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
111
diff
changeset
|
12 |
def filtered_benchmark_infos |
306
8050d8d3681f
Optimize CompareController#filter
Marcel Hlopko <marcel@hlopko.com>
parents:
241
diff
changeset
|
13 |
BenchmarkInfo |
8050d8d3681f
Optimize CompareController#filter
Marcel Hlopko <marcel@hlopko.com>
parents:
241
diff
changeset
|
14 |
.where(id: filtered_benchmark_info_ids) |
8050d8d3681f
Optimize CompareController#filter
Marcel Hlopko <marcel@hlopko.com>
parents:
241
diff
changeset
|
15 |
.includes(benchmark_results: [ :benchmark_batch, |
8050d8d3681f
Optimize CompareController#filter
Marcel Hlopko <marcel@hlopko.com>
parents:
241
diff
changeset
|
16 |
:benchmark_durations, |
8050d8d3681f
Optimize CompareController#filter
Marcel Hlopko <marcel@hlopko.com>
parents:
241
diff
changeset
|
17 |
:benchmark_parameters ]) |
91
d430a8ac253d
comparison page kinda works
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff
changeset
|
18 |
end |
d430a8ac253d
comparison page kinda works
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff
changeset
|
19 |
|
241
6c56f95bddd3
Update compare view, fix formatting
Marcel Hlopko <marcel@hlopko.com>
parents:
236
diff
changeset
|
20 |
def filtered_benchmark_info_ids |
306
8050d8d3681f
Optimize CompareController#filter
Marcel Hlopko <marcel@hlopko.com>
parents:
241
diff
changeset
|
21 |
benchmark_infos.select(&:present?).compact |
241
6c56f95bddd3
Update compare view, fix formatting
Marcel Hlopko <marcel@hlopko.com>
parents:
236
diff
changeset
|
22 |
end |
91
d430a8ac253d
comparison page kinda works
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff
changeset
|
23 |
|
d430a8ac253d
comparison page kinda works
Marcel Hlopko <marcel.hlopko@gmail.com>
parents:
diff
changeset
|
24 |
end |