Module: Spree::UserReporting

Extended by:
DisplayMoney
Included in:
UserMethods
Defined in:
app/models/concerns/spree/user_reporting.rb

Instance Method Summary collapse

Methods included from DisplayMoney

money_methods

Instance Method Details

#average_order_value(**args) ⇒ Object



20
21
22
23
24
# File 'app/models/concerns/spree/user_reporting.rb', line 20

def average_order_value(**args)
  order_calculate(operation: :average,
                  column: :total,
                  **args)
end

#lifetime_value(**args) ⇒ Object



14
15
16
17
18
# File 'app/models/concerns/spree/user_reporting.rb', line 14

def lifetime_value(**args)
  order_calculate(operation: :sum,
                  column: :total,
                  **args)
end

#order_count(store = nil) ⇒ Object



26
27
28
29
30
31
32
# File 'app/models/concerns/spree/user_reporting.rb', line 26

def order_count(store = nil)
  store ||= Store.default
  order_calculate(store: store,
                  currency: store.supported_currencies.split(','),
                  operation: :count,
                  column: :all)
end

#report_values_for(report_name, store) ⇒ Object



6
7
8
9
10
11
12
# File 'app/models/concerns/spree/user_reporting.rb', line 6

def report_values_for(report_name, store)
  store ||= Store.default

  completed_orders(store).pluck(:currency).uniq.each_with_object([]) do |currency, arr|
    arr << send("display_#{report_name}", store: store, currency: currency)
  end
end