I think an even simpler solution is to use File.dirname :
2.3.0 :005 > Dir.pwd => "/Users/kbennett/temp" 2.3.0 :006 > File.dirname(Dir.pwd) => "/Users/kbennett" 2.3.0 :007 > File.basename(Dir.pwd) => "temp"
File.basename returns a component of the path that File.dirname does not support.
This, of course, only works if filepec is absolute and not relative. To make it absolute, you can do this:
2.3.0 :008 > File.expand_path('.') => "/Users/kbennett/temp" 2.3.0 :009 > File.dirname(File.expand_path('.')) => "/Users/kbennett"
Keith Bennett May 23 '16 at 2:51 p.m. 2016-05-23 14:51
source share