Sha256: 4bfc1092f76b1d8a12b8d530cef3e8f874aea371f8b8d5e5f684ce975be50f39

Contents?: true

Size: 1.04 KB

Versions: 7

Compression:

Stored size: 1.04 KB

Contents

class ExampleMetric < Avo::Dashboards::MetricCard
  self.id = "users_metric"
  self.label = "Users count"
  self.description = "Users description"
  self.cols = 1
  self.initial_range = 30
  self.ranges = [7, 30, 60, 365, "TODAY", "MTD", "QTD", "YTD", "ALL"]
  # self.prefix = "$"
  # self.suffix = "%"
  self.refresh_every = 10.minutes

  # You have access to context, params, range, current dashboard, and current card
  query do
    from = Date.today.midnight - 1.week
    to = DateTime.current

    if range.present?
      if range.to_s == range.to_i.to_s
        from = DateTime.current - range.to_i.days
      else
        case range
        when "TODAY"
          from = DateTime.current.beginning_of_day
        when "MTD"
          from = DateTime.current.beginning_of_month
        when "QTD"
          from = DateTime.current.beginning_of_quarter
        when "YTD"
          from = DateTime.current.beginning_of_year
        when "ALL"
          from = Time.at(0)
        end
      end
    end

    result User.where(created_at: from..to).count
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rails_app_generator-0.3.6 after_templates/application/klueless/app/avo/cards/example_metric.rb
rails_app_generator-0.3.5 after_templates/application/klueless/app/avo/cards/example_metric.rb
rails_app_generator-0.3.4 after_templates/application/klueless/app/avo/cards/example_metric.rb
rails_app_generator-0.3.3 after_templates/application/klueless/app/avo/cards/example_metric.rb
rails_app_generator-0.3.2 after_templates/application/klueless/app/avo/cards/example_metric.rb
rails_app_generator-0.3.1 after_templates/application/klueless/app/avo/cards/example_metric.rb
rails_app_generator-0.3.0 after_templates/application/klueless/app/avo/cards/example_metric.rb