Module: Pry::Helpers::BaseHelpers
- Extended by:
- BaseHelpers
- Included in:
- Command, Command::Cat::AbstractFormatter, Command::FindMethod, Command::ShowInfo, CommandSet, BaseHelpers, Indent, Method, Method, WrappedModule
- Defined in:
- lib/pry/helpers/base_helpers.rb
Instance Method Summary collapse
- #colorize_code(code) ⇒ Object
- #find_command(name, set = Pry::Commands) ⇒ Object
-
#heading(text) ⇒ Object
formatting.
- #highlight(string, regexp, highlight_color = :bright_yellow) ⇒ Object
- #not_a_real_file?(file) ⇒ Boolean
-
#safe_send(obj, method, *args, &block) ⇒ Object
Acts like send but ignores any methods defined below Object or Class in the inheritance hierarchy.
- #silence_warnings ⇒ Object
-
#stagger_output(text, _out = nil) ⇒ Object
Send the given text through the best available pager (if Pry.config.pager is enabled).
- #use_ansi_codes? ⇒ Boolean
Instance Method Details
#colorize_code(code) ⇒ Object
43 44 45 |
# File 'lib/pry/helpers/base_helpers.rb', line 43 def colorize_code(code) SyntaxHighlighter.highlight(code) end |
#find_command(name, set = Pry::Commands) ⇒ Object
27 28 29 30 31 32 |
# File 'lib/pry/helpers/base_helpers.rb', line 27 def find_command(name, set = Pry::Commands) command_match = set.find do |_, command| (listing = command.[:listing]) == name && !listing.nil? end command_match.last if command_match end |
#heading(text) ⇒ Object
formatting
54 55 56 57 |
# File 'lib/pry/helpers/base_helpers.rb', line 54 def heading(text) text = "#{text}\n--" "\e[1m#{text}\e[0m" end |
#highlight(string, regexp, highlight_color = :bright_yellow) ⇒ Object
47 48 49 50 51 |
# File 'lib/pry/helpers/base_helpers.rb', line 47 def highlight(string, regexp, highlight_color = :bright_yellow) string.gsub(regexp) do |match| "<#{highlight_color}>#{match}</#{highlight_color}>" end end |
#not_a_real_file?(file) ⇒ Boolean
34 35 36 |
# File 'lib/pry/helpers/base_helpers.rb', line 34 def not_a_real_file?(file) file =~ /^(\(.*\))$|^<.*>$/ || file =~ /__unknown__/ || file == "" || file == "-e" end |
#safe_send(obj, method, *args, &block) ⇒ Object
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.
22 23 24 25 |
# File 'lib/pry/helpers/base_helpers.rb', line 22 def safe_send(obj, method, *args, &block) (obj.is_a?(Module) ? Module : Object).instance_method(method) .bind(obj).call(*args, &block) end |
#silence_warnings ⇒ Object
8 9 10 11 12 13 14 15 16 |
# 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) ⇒ Object
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.
62 63 64 65 66 67 68 |
# File 'lib/pry/helpers/base_helpers.rb', line 62 def stagger_output(text, _out = nil) if defined?(pry_instance) && pry_instance pry_instance.pager.page text else Pry.new.pager.page text end end |