Class: SalesTax::Application

Inherits:
Object
  • Object
show all
Defined in:
lib/sales_tax/application.rb

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Application

Returns a new instance of Application.



6
7
8
9
10
# File 'lib/sales_tax/application.rb', line 6

def initialize(args = {})
  @input = args[:input] || $stdin
  @parser = LineItem::Parser
  @receipt = Receipt.new
end

Instance Method Details

#runObject



12
13
14
15
16
17
18
19
20
21
# File 'lib/sales_tax/application.rb', line 12

def run
  loop do
    raw_input = input.gets
    break unless raw_input
    raw_input.chomp!
    line_item = parser.parse(raw_input)
    receipt.add_item(line_item) if line_item
  end
  puts receipt.print
end