Sha256: e9fd5e07d8dc5e3bfb85551a5f053624f643e7f952d0451e51d1df5fc5089049

Contents?: true

Size: 1.11 KB

Versions: 5

Compression:

Stored size: 1.11 KB

Contents

module Appraisal
  # Contains methods for various operations
  module Utils
    def self.support_parallel_installation?
      Gem::Version.create(Bundler::VERSION) >= Gem::Version.create('1.4.0.pre.1')
    end

    def self.format_string(object, enclosing_object = false)
      case object
      when Hash
        items = object.map do |key, value|
          "#{format_string(key, true)} => #{format_string(value, true)}"
        end

        if enclosing_object
          "{ #{items.join(', ')} }"
        else
          items.join(', ')
        end
      else
        object.inspect
      end
    end

    def self.format_arguments(arguments)
      unless arguments.empty?
        arguments.map { |object| format_string(object, false) }.join(', ')
      end
    end

    def self.join_parts(parts)
      parts.reject(&:nil?).reject(&:empty?).join("\n\n").strip
    end

    def self.prefix_path(path)
      if path !~ /^(?:\/|\S:)/ && path !~ /^\S+:\/\// && path !~ /^\S+@\S+:/
        cleaned_path = path.gsub(/(^|\/)\.(?:\/|$)/, "\\1")
        ::File.join("..", cleaned_path)
      else
        path
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
appraisal-2.1.0 lib/appraisal/utils.rb
appraisal-2.0.2 lib/appraisal/utils.rb
appraisal-2.0.1 lib/appraisal/utils.rb
appraisal-2.0.0 lib/appraisal/utils.rb
appraisal-1.0.3 lib/appraisal/utils.rb