class Spellcard::Parser

Public Instance Methods

parse(source) click to toggle source
# File lib/spellcard/parser.rb, line 3
def parse(source)
  comment_mode = false
  source.each_line.inject('') do |result, line|
    if comment_mode == true
      if line =~ /\*\//
        comment_mode = false
        result += line.gsub(/(.*)\*\/.*/, '\1')
      else
        result += line
      end
    else
      if line =~ /\/\//
        result += line.gsub(/.*\/\/(.*)/, '\1')
      elsif line =~ /\/\*.*\*\//
        result += line.gsub(/.*\/\*(.*)\*\/.*/, '\1')
      elsif line =~ /\/\*/
        comment_mode = true
        result += line.gsub(/.*\/\*(.*)/, '\1')
      end
    end
  end
end