Sha256: 3c95d39c71b80399d784198f6254ca26590bf8b84c54148b3b8178657a04d958

Contents?: true

Size: 727 Bytes

Versions: 62

Compression:

Stored size: 727 Bytes

Contents

module Workarea
  module Insights
    class BestFullPriceCustomers < 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
            .full_price
            .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_full_price_customers.rb
workarea-core-3.4.12 app/models/workarea/insights/best_full_price_customers.rb