Class: SpreeCmCommissioner::CheckInSessionsMetricsQuery
- Inherits:
-
Object
- Object
- SpreeCmCommissioner::CheckInSessionsMetricsQuery
- Defined in:
- app/queries/spree_cm_commissioner/check_in_sessions_metrics_query.rb
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(event:, session:) ⇒ CheckInSessionsMetricsQuery
constructor
A new instance of CheckInSessionsMetricsQuery.
Constructor Details
#initialize(event:, session:) ⇒ CheckInSessionsMetricsQuery
Returns a new instance of CheckInSessionsMetricsQuery.
3 4 5 6 |
# File 'app/queries/spree_cm_commissioner/check_in_sessions_metrics_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 |
# File 'app/queries/spree_cm_commissioner/check_in_sessions_metrics_query.rb', line 8 def call guests = @session.check_in_rules.any? ? eligible_guests_for_session : @event.guests guests_count = guests.count check_ins_count = guests.left_joins(:check_in).where.not(cm_check_ins: { id: nil }) .where(cm_check_ins: { check_in_session_id: [@session.id, nil] }) .distinct.count(:id) CheckInSessionsMetric.new(check_ins_count: check_ins_count, guests_count: guests_count) end |