Contains the implementation of a shipping calculator given a file of transactions and returning the list with the applied discounts.
The discount follow these rules:
- All S shipments should always match the lowest S package price among the providers.
- The third L shipment via LP should be free, but only once a calendar month.
- Accumulated discounts cannot exceed 10 € in a calendar month. If there are not enough funds to fully cover a discount this calendar month, it should be covered partially.
Prices are included in the code.
This installation assumes your are using rvm
.
- clone the repository
- cd into the directory
- run
gem install bundle
- run
bundle
Tests are written in RSpec and can be run with:
rake test
I followed the default style guide from rubocop:
rake rubocop
rake run input.txt
This code is available as open source under the terms of the MIT License.