Sha256: 6be10a2d29b8f759d89b49da039fdcffa61f625c3e821bb4e7e5993a78b6e5c5

Contents?: true

Size: 1.16 KB

Versions: 5

Compression:

Stored size: 1.16 KB

Contents

require 'pact/consumer/configuration'
require 'rainbow'
require 'pathname'

module Pact
  module Provider
    module Help
      class PromptText

        def self.call reports_dir = Pact.configuration.reports_dir, options = {color: Pact.configuration.color_enabled}
          new(reports_dir, options).call
        end

        def initialize reports_dir, options
          @reports_dir = File.expand_path(reports_dir)
          @options = options
        end

        def call
          options[:color] ? prompt_text_colored : prompt_text_plain
        end

        private

        attr_reader :reports_dir, :options

        def prompt_text_plain
          "For assistance debugging failures, run `bundle exec rake pact:verify:help#{rake_args}`\n"
        end

        def prompt_text_colored
          Rainbow(prompt_text_plain).yellow
        end

        def rake_args
          if reports_dir == Pact.configuration.default_reports_dir
            ''
          else
            "[#{relative_reports_dir}]"
          end
        end

        def relative_reports_dir
          Pathname.new(reports_dir).relative_path_from(Pathname.new(Dir.pwd))
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
pact-1.66.1 lib/pact/provider/help/prompt_text.rb
pact-1.66.0 lib/pact/provider/help/prompt_text.rb
pact-1.65.3 lib/pact/provider/help/prompt_text.rb
pact-1.65.2 lib/pact/provider/help/prompt_text.rb
pact-1.65.1 lib/pact/provider/help/prompt_text.rb