class Eulerplate::ProblemParser

Public Class Methods

parse(problem) click to toggle source
# File lib/eulerplate/problems.rb, line 71
def self.parse(problem)
  result = []
  problem[0].traverse do |node|
    case
    when node.parent.name == "sup"
      result
    when node.name == "sup"
      result << "^#{node.text}"
    when node.text?
      result << node.text
    when node.name == "br"
      result << "\n"
    end
  end
  result.join.strip.gsub("\r","").gsub(/ *\n */,"\n")
end