Class: Panier::Application::SalesTaxService
- Inherits:
-
Object
- Object
- Panier::Application::SalesTaxService
- Defined in:
- lib/panier/application/sales_tax_service.rb
Overview
This is an application layer service responsible for handling the use-case of taking a list of items and producing a receipt.
Instance Method Summary collapse
-
#evaluate_input(input) ⇒ Object
Accepts a list of products and produces a receipt.
-
#initialize(input_reader = nil) ⇒ SalesTaxService
constructor
A new instance of SalesTaxService.
Constructor Details
#initialize(input_reader = nil) ⇒ SalesTaxService
Returns a new instance of SalesTaxService.
11 12 13 |
# File 'lib/panier/application/sales_tax_service.rb', line 11 def initialize(input_reader = nil) @input_reader = input_reader || InputReader.new end |
Instance Method Details
#evaluate_input(input) ⇒ Object
Accepts a list of products and produces a receipt.
20 21 22 23 24 25 |
# File 'lib/panier/application/sales_tax_service.rb', line 20 def evaluate_input(input) line_items = @input_reader.parse_input(input) receipt = Receipt.new(line_items) decorator = Panier::Decorators::ReceiptDecorator.new(receipt) decorator.to_csv end |