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