Class: RailsPulse::Tables::Base
- Inherits:
-
Object
- Object
- RailsPulse::Tables::Base
- Defined in:
- app/models/rails_pulse/tables/base.rb
Direct Known Subclasses
Jobs::Tables::Index, Queries::Tables::Index, Routes::Tables::Index
Constant Summary collapse
- WEIGHTED_P95 =
"SUM(rails_pulse_summaries.p95_duration * rails_pulse_summaries.count) / NULLIF(SUM(rails_pulse_summaries.count), 0)"- WEIGHTED_P99 =
"SUM(rails_pulse_summaries.p99_duration * rails_pulse_summaries.count) / NULLIF(SUM(rails_pulse_summaries.count), 0)"
Instance Method Summary collapse
-
#initialize(ransack_query:, period_type: nil, start_time:, params:, disabled_tags: [], show_non_tagged: true) ⇒ Base
constructor
A new instance of Base.
- #to_table ⇒ Object
Constructor Details
#initialize(ransack_query:, period_type: nil, start_time:, params:, disabled_tags: [], show_non_tagged: true) ⇒ Base
Returns a new instance of Base.
7 8 9 10 11 12 13 14 |
# File 'app/models/rails_pulse/tables/base.rb', line 7 def initialize(ransack_query:, period_type: nil, start_time:, params:, disabled_tags: [], show_non_tagged: true) @ransack_query = ransack_query @period_type = period_type @start_time = start_time @params = params @disabled_tags = @show_non_tagged = show_non_tagged end |
Instance Method Details
#to_table ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'app/models/rails_pulse/tables/base.rb', line 16 def to_table has_sorts = @ransack_query.sorts.any? base_query = @ransack_query.result(distinct: false).reorder(nil) .joins(join_clause) .where(summarizable_type: summarizable_type, period_type: @period_type) base_query = apply_tag_filters(base_query) base_query = apply_extra_filters(base_query) grouped_query = base_query .group(*group_columns) .select(*select_columns) if has_sorts sort = @ransack_query.sorts.first direction = sort.dir == "desc" ? :desc : :asc named_sort(grouped_query, sort.name, direction) || grouped_query.order(default_sort) else grouped_query.order(default_sort) end end |