Named errors
Symetry
Simplify initialize defaults
Refund corner case explicit added
Use existing method
Use existing method
Inequality transition

http://www.sosmath.com/algebra/inequalities/ineq01/ineq01.html
Inequality transition

http://www.sosmath.com/algebra/inequalities/ineq01/ineq01.html
Extract method
Inequality transition

http://www.sosmath.com/algebra/inequalities/ineq01/ineq01.html
Inequality transition

qty always on the life side of expression.

http://www.sosmath.com/algebra/inequalities/ineq01/ineq01.html
Rename confusing instance variable

* available_quantity - is something computed. How much is available?
* @store_quantity - set by the product owner. How much of it do we have
  in general, no matter the state.
Private #store_quantity identifier method

* set by user quantity of all available products in all states
* @store_quantity[identifier].sum is equal to
  @store_quantity[identifier].last because of the way we store
  its changes.
Extract method
Inline method

Now that we figured out a name of a concept in private method
(#not_available_quantity) we no longer need a method extracted for
a simple compare statement.

qty on the left side of expression.