Class: SpreeCmCommissioner::SessionProductMonitorQuery
- Inherits:
-
Object
- Object
- SpreeCmCommissioner::SessionProductMonitorQuery
- Defined in:
- app/queries/spree_cm_commissioner/session_product_monitor_query.rb
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(event:, session:) ⇒ SessionProductMonitorQuery
constructor
A new instance of SessionProductMonitorQuery.
Constructor Details
#initialize(event:, session:) ⇒ SessionProductMonitorQuery
Returns a new instance of SessionProductMonitorQuery.
3 4 5 6 |
# File 'app/queries/spree_cm_commissioner/session_product_monitor_query.rb', line 3 def initialize(event:, session:) @event = event @session = session end |
Instance Method Details
#call ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'app/queries/spree_cm_commissioner/session_product_monitor_query.rb', line 8 def call rules = @session.check_in_rules.distinct.includes(:ruleable) return {} if rules.empty? variants = SpreeCmCommissioner::Guest.variants_for_rules(rules) return {} if variants.empty? metrics = variants.filter_map { |variant| build_metric_for_variant(variant) } return {} if metrics.empty? { 'Spree::Variant' => metrics } end |