class Parser
Attributes
path[RW]
products[RW]
Public Class Methods
new(path = "", no_validate = false, use_mock_file = false)
click to toggle source
initialize a new conference settings
# File lib/wunder/parser.rb, line 10 def initialize(path = "", no_validate = false, use_mock_file = false) @path = (use_mock_file == true ? mock_file_path : path) validate if no_validate == false end
Public Instance Methods
mock_file_path()
click to toggle source
incase file is not provided
# File lib/wunder/parser.rb, line 33 def mock_file_path source = __dir__ File.join(source, "input/input.csv") end
process_file()
click to toggle source
# File lib/wunder/parser.rb, line 20 def process_file @products = ProductCollection.new CSV.foreach(path, col_sep: ",", row_sep: :auto, headers: true) do |row| product = Product.new(row[0], row[1], row[2]) next unless @products.validate_product_code_is_uniq(product.product_code) @products << product end @products end
validate()
click to toggle source
# File lib/wunder/parser.rb, line 15 def validate err_msg = "No such file found" raise err_msg.to_s if path == "" || path.nil? || File.exist?(path) == false end