class CopyStatement

Encapsulate the details of a COBOL COPY statement.

Public Class Methods

new(line) click to toggle source

Parse out the key elements of a COPY statement.

# File lib/copy_statement.rb, line 9
def initialize line
  tokens = line.gsub(/\s+/, ' ').split
  last = tokens.length-1
  @has_period = tokens[last].match(/\.$/) == nil ? false : true
  tokens[last] = tokens[last].gsub(/\./, '') 
  @copybook_name = tokens[1] 
  @has_replacing = tokens.length > 2 && tokens[2].downcase == 'replacing' ? true : false
  @old_value = strip_equals_signs(tokens[3]) if has_replacing?
  @new_value = strip_equals_signs(tokens[5]) if has_replacing?
end

Public Instance Methods

copybook_name() click to toggle source
# File lib/copy_statement.rb, line 20
def copybook_name
  @copybook_name
end
has_period?() click to toggle source
# File lib/copy_statement.rb, line 24
def has_period?
  @has_period
end
has_replacing?() click to toggle source
# File lib/copy_statement.rb, line 28
def has_replacing?
  @has_replacing
end
new_value() click to toggle source
# File lib/copy_statement.rb, line 36
def new_value
  @new_value
end
old_value() click to toggle source
# File lib/copy_statement.rb, line 32
def old_value
  @old_value
end

Private Instance Methods

strip_equals_signs(value) click to toggle source
# File lib/copy_statement.rb, line 42
def strip_equals_signs value
  value.gsub(/\=\=/, '')
end