Class: Mercadona::Discount::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/mercadona/discount/base.rb

Direct Known Subclasses

Bogo, Bulk, Quantity

Constant Summary collapse

DISCOUNT_RULES_ATTRS =
i[condition quantity].freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(discount_rule, order_item, order_item_quantity) ⇒ Base

Returns a new instance of Base.



12
13
14
15
16
# File 'lib/mercadona/discount/base.rb', line 12

def initialize(discount_rule, order_item, order_item_quantity)
  @discount_rule = discount_rule
  @order_item_price = order_item.price_in_fractional_currency
  @order_item_quantity = order_item_quantity
end

Class Method Details

.call(discount_rule, order_item, order_item_quantity) ⇒ Object



8
9
10
# File 'lib/mercadona/discount/base.rb', line 8

def self.call(discount_rule, order_item, order_item_quantity)
  new(discount_rule, order_item, order_item_quantity).call
end

Instance Method Details

#callObject



18
19
20
# File 'lib/mercadona/discount/base.rb', line 18

def call
  raise Mercadona::Error::Runtime, Mercadona::Error::Runtime::NOT_IMPLEMENTED
end