module Pry::Helpers::BaseHelpers - pry-0.10.1 Documentation

# module Pry::Helpers::BaseHelpers

### Public Instance Methods

colorize_code(code) click to toggle source

    # File lib/pry/helpers/base_helpers.rb, line 49
    def colorize_code(code)
      CodeRay.scan(code, :ruby).term
    end

command_dependencies_met?(options) click to toggle source

    # File lib/pry/helpers/base_helpers.rb, line 38
    def command_dependencies_met?(options)
      return true if !options[:requires_gem]
      Array(options[:requires_gem]).all? do |g|
        Rubygem.installed?(g)
      end
    end

find_command(name, set = Pry::Commands) click to toggle source

    # File lib/pry/helpers/base_helpers.rb, line 27
    def find_command(name, set = Pry::Commands)
      command_match = set.find do |_, command|
        (listing = command.options[:listing]) == name && listing != nil
      end
      command_match.last if command_match
    end

heading(text) click to toggle source

formatting

    # File lib/pry/helpers/base_helpers.rb, line 58
    def heading(text)
      text = "#{text}\n--"
      "\e[1m#{text}\e[0m"
    end

highlight(string, regexp, highlight_color=:bright_yellow) click to toggle source

    # File lib/pry/helpers/base_helpers.rb, line 53
    def highlight(string, regexp, highlight_color=:bright_yellow)
      string.gsub(regexp) { |match| "<#{highlight_color}>#{match}</#{highlight_color}>" }
    end

jruby?() click to toggle source

    # File lib/pry/helpers/base_helpers.rb, line 73
    def jruby?
      RbConfig::CONFIG['ruby_install_name'] == 'jruby'
    end

jruby_19?() click to toggle source

    # File lib/pry/helpers/base_helpers.rb, line 77
    def jruby_19?
      jruby? && RbConfig::CONFIG['ruby_version'] == '1.9'
    end

mri?() click to toggle source

    # File lib/pry/helpers/base_helpers.rb, line 85
    def mri?
      RbConfig::CONFIG['ruby_install_name'] == 'ruby'
    end

mri_19?() click to toggle source

    # File lib/pry/helpers/base_helpers.rb, line 89
    def mri_19?
      mri? && RUBY_VERSION =~ /^1\.9/
    end

mri_20?() click to toggle source

    # File lib/pry/helpers/base_helpers.rb, line 97
    def mri_20?
      mri? && RUBY_VERSION =~ /^2\.0/
    end

mri_21?() click to toggle source

    # File lib/pry/helpers/base_helpers.rb, line 101
    def mri_21?
      mri? && RUBY_VERSION =~ /^2\.1/
    end

mri_2?() click to toggle source

    # File lib/pry/helpers/base_helpers.rb, line 93
    def mri_2?
      mri? && RUBY_VERSION =~ /^2/
    end

not_a_real_file?(file) click to toggle source

    # File lib/pry/helpers/base_helpers.rb, line 34
    def not_a_real_file?(file)
      file =~ /(\(.*\))|<.*>/ || file =~ /__unknown__/ || file == "" || file == "-e"
    end

rbx?() click to toggle source

    # File lib/pry/helpers/base_helpers.rb, line 81
    def rbx?
      RbConfig::CONFIG['ruby_install_name'] == 'rbx'
    end

safe_send(obj, method, *args, &block) click to toggle source

Acts like send but ignores any methods defined below Object or Class in the inheritance hierarchy. This is required to introspect methods on objects like Net::HTTP::Get that have overridden the `method` method.

    # File lib/pry/helpers/base_helpers.rb, line 22
    def safe_send(obj, method, *args, &block)
      (Module === obj ? Module : Object).instance_method(method).bind(obj).call(*args, &block)
    end

silence_warnings() { || ... } click to toggle source

    # File lib/pry/helpers/base_helpers.rb, line 8
    def silence_warnings
      old_verbose = $VERBOSE
      $VERBOSE = nil
      begin
        yield
      ensure
        $VERBOSE = old_verbose
      end
    end

stagger_output(text, out = nil) click to toggle source

Send the given text through the best available pager (if Pry.config.pager is enabled). Infers where to send the output if used as a mixin. DEPRECATED.

    # File lib/pry/helpers/base_helpers.rb, line 108
    def stagger_output(text, out = nil)
      Pry.new.pager.page text
    end

use_ansi_codes?() click to toggle source

    # File lib/pry/helpers/base_helpers.rb, line 45
    def use_ansi_codes?
      windows_ansi? || ENV['TERM'] && ENV['TERM'] != "dumb"
    end

windows?() click to toggle source

have fun on the Windows platform.

    # File lib/pry/helpers/base_helpers.rb, line 64
    def windows?
      RbConfig::CONFIG['host_os'] =~ /mswin|mingw/
    end

windows_ansi?() click to toggle source

are we able to use ansi on windows?

    # File lib/pry/helpers/base_helpers.rb, line 69
    def windows_ansi?
      defined?(Win32::Console) || ENV['ANSICON'] || (windows? && mri_2?)
    end