         currentSection = {}
 
       hasComment = false
+
+  # Push the last section if there was no new line at the
+  # end of the file
+  if not _(currentSection).isEmpty()
+    allSections.push currentSection
 
   return allSections
 


      if key?
        if multiLineKey and not _(argObject).isEmpty()
          do (multiLineKey, currentSection, argObject, definitions) ->
            keys = multiLineKey.split "."
            _setAttribute(currentSection,
              keys[0],
              argObject,
              definitions[keys[0]]
            )

          argObject = {}


      # When key doesn't exist and multi line key is set,
      # add the value to the original key
      if multiLineKey and value?
        object = if _(argObject).isEmpty() then currentSection else argObject
        value += "  \n" if value
        _setAttribute(object,
          _getMultiLineKey(-1),
          value,
          definitions[_getMultiLineKey(-1)]
        )

    else
      if hasComment and not _(currentSection).isEmpty()

        # Check if there is remaining argObject to be cleared
        if multiLineKey and not _(argObject).isEmpty()
          _setAttribute(currentSection,
            _getMultiLineKey(0),
            argObject,
            definitions[_getMultiLineKey(0)]
          )

          multiLineKey = ""
          argObject    = {}
