Sha256: 21bd5ddb3f577446764ea618f41261f957b8143e2a1a6423889e569715ceda56

Contents?: true

Size: 694 Bytes

Versions: 62

Compression:

Stored size: 694 Bytes

Contents

module Workarea
  module Insights
    class BestCustomers < Base
      class << self
        def dashboards
          %w(people)
        end

        def generate_monthly!
          [30.days, 180.days, 365.days].each do |days|
            results = find_results(ordered_since: days.ago)

            if results.present?
              create!(results: results.map(&:as_document))
              return
            end
          end
        end

        def find_results(ordered_since:)
          Metrics::User
            .ordered_since(ordered_since)
            .best
            .limit(Workarea.config.insights_users_list_max_results)
            .to_a
        end
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
workarea-core-3.4.13 app/models/workarea/insights/best_customers.rb
workarea-core-3.4.12 app/models/workarea/insights/best_customers.rb