class ConvertDfhmdf

Public Instance Methods

close_file() click to toggle source
# File lib/convert_dfhmdf.rb, line 58
def close_file
  @source_file.close
end
ingest_macro() click to toggle source
# File lib/convert_dfhmdf.rb, line 21
def ingest_macro
  macro_end = false
  @macro_source = ''
  current_line = read_line
  begin
    if current_line == nil || current_line.length < 72 || current_line[71] == ' '
      macro_end = true
    end  
    @macro_source << squish(current_line)
    current_line = read_line unless macro_end
  end while macro_end == false
  @macro_source
end
macro_source() click to toggle source
# File lib/convert_dfhmdf.rb, line 40
def macro_source
  @macro_source
end
open_file() click to toggle source
# File lib/convert_dfhmdf.rb, line 50
def open_file
  if ARGV[0] == nil
    abort 'Usage: ruby make_fields.rb inputfilename' 
  end
  @source_file = File.open(ARGV[0], 'r')
  @eof = false
end
process_macro(dfhmdf_macro) click to toggle source
# File lib/convert_dfhmdf.rb, line 17
def process_macro dfhmdf_macro
  parse_tokens tokenize_line dfhmdf_macro
end
read_line() click to toggle source
# File lib/convert_dfhmdf.rb, line 44
def read_line
  line = @source_file.readline
  @eof = @source_file.eof?
  line
end
run() click to toggle source
# File lib/convert_dfhmdf.rb, line 6
def run
  open_file
  begin
    clear
    ingest_macro
    process_macro @macro_source
    puts te3270_text_field if dfhmdf?
  end while @eof == false
  close_file
end
squish(str) click to toggle source
# File lib/convert_dfhmdf.rb, line 35
def squish str
  str[71] = ' ' unless str.length < 72
  str[0..70].split.join(' ')
end