Module: Corzinus::Relatable::Order

Extended by:
ActiveSupport::Concern
Defined in:
app/models/concerns/corzinus/relatable/order.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#bought_product?(productable) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'app/models/concerns/corzinus/relatable/order.rb', line 28

def bought_product?(productable)
  purchase(productable).any?
end

#complete_orderObject



18
19
20
# File 'app/models/concerns/corzinus/relatable/order.rb', line 18

def complete_order
  @complete_order ||= orders.processing.last
end

#order_in_progressObject



14
15
16
# File 'app/models/concerns/corzinus/relatable/order.rb', line 14

def order_in_progress
  @order_in_progress ||= orders.in_progress.last || orders.create
end

#purchase(productable) ⇒ Object



22
23
24
25
26
# File 'app/models/concerns/corzinus/relatable/order.rb', line 22

def purchase(productable)
  orders.delivered
        .joins(:order_items)
        .where('corzinus_order_items.productable_id = ?', productable.id)
end