Class: OrderCalculator::Files

Inherits:
Object
  • Object
show all
Defined in:
lib/order_calculator/files.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(files) ⇒ Files

Returns a new instance of Files.



16
17
18
# File 'lib/order_calculator/files.rb', line 16

def initialize(files)
  @files = files
end

Class Method Details

.config(files) ⇒ Object



6
7
8
9
# File 'lib/order_calculator/files.rb', line 6

def config(files)
  fail ArgumentError, 'É necessário 4 arquivos' unless files.size.eql?(4)
  new files
end

.generate(output) ⇒ Object



11
12
13
# File 'lib/order_calculator/files.rb', line 11

def generate(output)
  CSV.open('output.csv', 'wb') { |csv| output.map { |o| csv << o } }
end

Instance Method Details

#couponsObject



20
21
22
# File 'lib/order_calculator/files.rb', line 20

def coupons
  @_c ||= read_file @files[0]
end

#order_itemsObject



32
33
34
# File 'lib/order_calculator/files.rb', line 32

def order_items
  @_items ||= read_file(@files[3])
end

#ordersObject



28
29
30
# File 'lib/order_calculator/files.rb', line 28

def orders
  @_orders ||= read_file(@files[2])
end

#productsObject



24
25
26
# File 'lib/order_calculator/files.rb', line 24

def products
  @_p ||= read_file @files[1]
end