class FixedWidthGenerator::Generator

Public Class Methods

new(definition) click to toggle source
# File lib/aba_generator/fixed_width/generator.rb, line 4
def initialize(definition)
  @definition = definition
end

Public Instance Methods

generate(data) click to toggle source
# File lib/aba_generator/fixed_width/generator.rb, line 8
def generate(data)
  @builder = []
  @definition.sections.each do |section|
    content = data[section.name]
    arrayed_content = content.is_a?(Array) ? content : [content]
    raise FixedWidthGenerator::RequiredSectionEmptyError.new("Required section '#{section.name}' was empty.") if (content.nil? || content.empty?) && !section.optional
    arrayed_content.each {|row| @builder << section.format(row) }
  end
  @builder.join("\n")
end