Sha256: d692210c2e03031bba51bd25011a8b0b42b7b72f84fd440612624a5bdccc73dc

Contents?: true

Size: 1.6 KB

Versions: 8

Compression:

Stored size: 1.6 KB

Contents

module JazzFingers
  class Configuration
    attr_writer :colored_prompt, :prompt_separator, :coolline, :awesome_print,
      :application_name

    # Color the prompt?
    #
    # A different setting than Pry.color since some may like colored output, but a
    # plain prompt.
    #
    # Default: 'true' for GNU readline or rb-readline which correctly count line
    # widths with color codes when using \001 and \002 hints. 'false' for
    # libedit-based wrapper (standard on OS X unless ruby is explicitly compiled
    # otherwise).
    def colored_prompt
      return (Readline::VERSION !~ /EditLine/) && Pry.color if @colored_prompt.nil?

      @colored_prompt
    end

    # Separator between application name and input in the prompt.
    #
    # Default: right angle quote, or '>' when using rb-readline which doesn't
    # handle mixed encodings well.
    def prompt_separator
      @prompt_separator ||= defined?(RbReadline) ? ">" : "\u00BB"
    end

    def coolline?
      return false if @coolline.nil?

      @coolline
    end

    def awesome_print?
      return true if @awesome_print.nil?

      @awesome_print
    end

    def application_name
      return "(#{underscore(@application_name)})" unless @application_name.nil?

      if defined?(Rails)
        return "(#{Rails.application.class.parent_name.underscore})"
      else
        return "(jazz_fingers)"
      end
    end

    private

    def underscore(camel_cased_word)
      camel_cased_word.to_s.gsub(/::/, '/').
        gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
        gsub(/([a-z\d])([A-Z])/,'\1_\2').
        tr("-", "_").
        downcase
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
jazz_fingers-4.0.1 lib/jazz_fingers/configuration.rb
jazz_fingers-4.0.0 lib/jazz_fingers/configuration.rb
jazz_fingers-3.0.2 lib/jazz_fingers/configuration.rb
jazz_fingers-3.0.1 lib/jazz_fingers/configuration.rb
jazz_fingers-3.0.0 lib/jazz_fingers/configuration.rb
jazz_fingers-2.0.2 lib/jazz_fingers/configuration.rb
jazz_fingers-2.0.2.rc1 lib/jazz_fingers/configuration.rb
jazz_fingers-2.0.1 lib/jazz_fingers/configuration.rb