Sha256: 8a48b11d3731cb1d1e87510a8f10f4e5543f1ee75617d5a049f80e7a75aeb9d3

Contents?: true

Size: 1.62 KB

Versions: 5

Compression:

Stored size: 1.62 KB

Contents

module Munge
  module Util
    class Path
      def self.dirname(path)
        path_parts = path.split("/")
        path_parts[0..-2].join("/")
      end

      def self.extname(path)
        basename = File.basename(path)
        basename_parts = basename.split(".")

        if basename_parts.length > 1
          basename_parts[-1]
        else
          ""
        end
      end

      def self.extnames(path)
        basename = File.basename(path)
        basename_parts = basename.split(".")

        basename_parts[1..-1]
      end

      def self.basename(path)
        File.basename(path)
      end

      def self.basename_one_extension(path)
        basename       = File.basename(path)
        basename_parts = basename.split(".")

        basename_parts[0..1].join(".")
      end

      def self.basename_no_extension(path)
        basename = File.basename(path)
        basename_parts = basename.split(".")

        basename_parts[0] || ""
      end

      def self.path_no_extension(path)
        extension = extname(path)

        if extension == ""
          path
        else
          path.sub(/\.#{extension}/, "")
        end
      end

      def self.ensure_abspath(path)
        correct = path.squeeze("/")

        if correct[0] == "/"
          correct
        else
          "/#{correct}"
        end
      end

      def self.ensure_relpath(path)
        correct = path.squeeze("/")

        if correct[0] == "/"
          correct[1..-1]
        else
          correct
        end
      end

      def self.join(*path_components)
        path_components
          .reject(&:empty?)
          .join("/")
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
munge-0.10.0 lib/munge/util/path.rb
munge-0.9.0 lib/munge/util/path.rb
munge-0.8.0 lib/munge/util/path.rb
munge-0.7.1 lib/munge/util/path.rb
munge-0.7.0 lib/munge/util/path.rb