class Panier::Domain::Product

A product is a purchasable item with a price and one or more tax classes that allow taxes to be calculated accurately.

Attributes

name[RW]
price[R]
tax_classes[RW]

Public Class Methods

new(name, price, tax_classes = []) click to toggle source

Initializes the product using the given name, price and optional tax classes.

@param name [String] @param price [Money] @param tax_classes [Array]

# File lib/panier/domain/product.rb, line 21
def initialize(name, price, tax_classes = [])
  @name = name
  self.price = price
  @tax_classes = tax_classes
end

Public Instance Methods

price=(price) click to toggle source
# File lib/panier/domain/product.rb, line 27
def price=(price)
  fail ArgumentError, ':price must be non-negative' if price.negative?
  @price = price
end