# File lib/fssm/pathname.rb, line 61 def cleanpath! parts = to_a final = [] parts.each do |part| case part when DOT then next when DOT_DOT then case final.last when ROOT then next when DOT_DOT then final.push(DOT_DOT) when nil then final.push(DOT_DOT) else final.pop end else final.push(part) end end replace(final.empty? ? DOT : self.class.join(*final)) end