parse_status

in lib/between_meals/repo/hg.rb [155:210]


      def parse_status(changes)
        
        
        
        
        
        
        
        
        
        

        changes.lines.map do |line|
          parts = line.chomp.split(nil, 2)
          case parts[0]
          when 'A'
            {
              :status => :added,
              :path => parts[1],
            }
          when 'C'
            {
              :status => :clean,
              :path => parts[1],
            }
          when 'R'
            {
              :status => :deleted,
              :path => parts[1],
            }
          when 'M'
            {
              :status => :modified,
              :path => parts[1],
            }
          when '!'
            {
              :status => :missing,
              :path => parts[1],
            }
          when '?'
            {
              :status => :untracked,
              :path => parts[1],
            }
          when 'I'
            {
              :status => :ignored,
              :path => parts[1],
            }
          else
            fail 'Failed to parse repo diff line.'
          end
        end
      end