Class: SpreeCmCommissioner::UsersByEventFetcherQuery
- Inherits:
-
Object
- Object
- SpreeCmCommissioner::UsersByEventFetcherQuery
- Defined in:
- app/queries/spree_cm_commissioner/users_by_event_fetcher_query.rb
Instance Attribute Summary collapse
-
#taxon_id ⇒ Object
readonly
Returns the value of attribute taxon_id.
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(taxon_id) ⇒ UsersByEventFetcherQuery
constructor
A new instance of UsersByEventFetcherQuery.
Constructor Details
#initialize(taxon_id) ⇒ UsersByEventFetcherQuery
Returns a new instance of UsersByEventFetcherQuery.
5 6 7 |
# File 'app/queries/spree_cm_commissioner/users_by_event_fetcher_query.rb', line 5 def initialize(taxon_id) @taxon_id = taxon_id end |
Instance Attribute Details
#taxon_id ⇒ Object (readonly)
Returns the value of attribute taxon_id.
3 4 5 |
# File 'app/queries/spree_cm_commissioner/users_by_event_fetcher_query.rb', line 3 def taxon_id @taxon_id end |
Instance Method Details
#call ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'app/queries/spree_cm_commissioner/users_by_event_fetcher_query.rb', line 9 def call classifications = Spree::Classification.where(taxon_id: @taxon_id) product_ids = classifications.pluck(:product_id) Spree::User.joins(orders: { line_items: :variant }) .where(spree_orders: { state: 'complete' }) .where(spree_variants: { product_id: product_ids }) .distinct end |