require 'csv' require 'riif/dsl/base' require 'riif/dsl/accnt' require 'riif/dsl/bud' require 'riif/dsl/ctype' require 'riif/dsl/cust' require 'riif/dsl/emp' require 'riif/dsl/invitem' require 'riif/dsl/invmemo' require 'riif/dsl/klass' require 'riif/dsl/othername' require 'riif/dsl/paymeth' require 'riif/dsl/shipmeth' require 'riif/dsl/spl' require 'riif/dsl/terms' require 'riif/dsl/timeact' require 'riif/dsl/trns' require 'riif/dsl/vend' require 'riif/dsl/vtype' module Riif class IIF def method_missing(method_name, *args, &block) result = eval("::Riif::DSL::#{method_name.capitalize}").new.build(&block) CSV.generate(col_sep: "\t") do |tsv| result[:headers].each do |header| tsv << header end result[:rows].each do |row| tsv << row end end end end end