Skip to content

Instantly share code, notes, and snippets.

@karapetyan
Created November 2, 2015 18:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save karapetyan/bc08e8edd4e7a8a23ac5 to your computer and use it in GitHub Desktop.
Save karapetyan/bc08e8edd4e7a8a23ac5 to your computer and use it in GitHub Desktop.
def strip_it(code)
result = ""
i = 0
commented = {singleline: false, multiline: false}
while i <= code.size-1
case
when code[i..i+1] == "/*" && commented[:singleline] == false && commented[:multiline] == false
commented[:multiline] = true
i += 2
when code[i..i+1] == "*/" && commented[:singleline] == false && commented[:multiline] == true
commented[:multiline] = false
i += 2
when code[i..i+1] == "//" && commented[:multiline] == false
commented[:singleline] = true
i += 2
else
commented[:singleline] = false if code[i] == "\n"
result += code[i] if commented[:singleline] == false && commented[:multiline] == false && code[i] != nil
i += 1
end
end
result
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment