Class: Eulerplate::ProblemParser

Inherits:
Object
  • Object
show all
Defined in:
lib/eulerplate/problems.rb

Class Method Summary collapse

Class Method Details

.parse(problem) ⇒ Object



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# 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