Class: Comable::Stock

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
Ransackable, SkuChoice, SkuItem
Defined in:
app/models/comable/stock.rb

Overview

在庫モデル。商品に複数紐付き、品数やSKU(Stock Keeping Unit)情報を保持する。

Scope collapse

Instance Method Summary collapse

Methods included from SkuChoice

#name_with_sku, #sku_name

Methods included from SkuItem

#sku_h?, #sku_v?

Class Method Details

.stockedObject Also known as: unsold

品切れでない在庫インスタンスを返す



19
# File 'app/models/comable/stock.rb', line 19

scope :stocked, -> { where('quantity > ?', 0) }

.unstockedObject Also known as: soldout

品切れの在庫インスタンスを返す



28
# File 'app/models/comable/stock.rb', line 28

scope :unstocked, -> { where('quantity <= ?', 0) }

Instance Method Details

#stocked?(quantity: 1) ⇒ Boolean Also known as: unsold?

在庫の有無を取得する

Examples:

stock.quanaity = 1
stock.stocked? #=> true

Parameters:

  • quantity (Fixnum) (defaults to: 1)

    減算する在庫数を指定する

Returns:

  • (Boolean)

    在庫があれば true を返す

See Also:



62
63
64
# File 'app/models/comable/stock.rb', line 62

def stocked?(quantity: 1)
  (self.quantity - quantity) >= 0
end

#unstocked?(quantity: 1) ⇒ Boolean Also known as: soldout?

在庫の有無を取得する

Examples:

stock.quanaity = 1
stock.unstocked? #=> false

Parameters:

  • quantity (Fixnum) (defaults to: 1)

    減算する在庫数を指定する

Returns:

  • (Boolean)

    #stocked? の逆。在庫がなければ true を返す

See Also:



78
79
80
# File 'app/models/comable/stock.rb', line 78

def unstocked?(quantity: 1)
  !stocked?(quantity: quantity)
end