Module: Parcels::Utils::PathUtils
- Defined in:
- lib/parcels/utils/path_utils.rb
Class Method Summary collapse
- .maybe_path_under(path, under_what) ⇒ Object
- .path_under(path, under_what) ⇒ Object
- .widget_class_file_for_alongside_file(alongside_file) ⇒ Object
Class Method Details
.maybe_path_under(path, under_what) ⇒ Object
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/parcels/utils/path_utils.rb', line 10 def maybe_path_under(path, under_what) path = path.to_s.strip under_what = under_what.to_s.strip if (path.length - under_what.length) > 1 && path[0..(under_what.length - 1)] == under_what && path[under_what.length..under_what.length] == File::SEPARATOR path[(under_what.length + 1)..-1] end end |
.path_under(path, under_what) ⇒ Object
5 6 7 8 |
# File 'lib/parcels/utils/path_utils.rb', line 5 def path_under(path, under_what) maybe_path_under(path, under_what) || raise(Errno::ENOENT, %{Path #{path.inspect} is not underneath directory #{under_what.inspect}.}) end |
.widget_class_file_for_alongside_file(alongside_file) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/parcels/utils/path_utils.rb', line 21 def (alongside_file) directory = File.dirname(alongside_file) basename = File.basename(alongside_file) basename = $1 if basename =~ /^(.+?)\./ entries = Dir.entries(directory).select { |e| e =~ /^#{Regexp.escape(basename)}\./ && e =~ /\.rb$/i } entries = entries.sort_by(&:length) entry = entries[-1] File.join(directory, entry) if entry end |