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
Overview
rubocop:disable Metrics/ModuleLength
Instance Method Summary collapse
- #colorize_code(code) ⇒ Object
- #command_dependencies_met?(options) ⇒ Boolean
- #find_command(name, set = Pry::Commands) ⇒ Object
-
#heading(text) ⇒ Object
formatting.
- #highlight(string, regexp, highlight_color = :bright_yellow) ⇒ Object
-
#jruby? ⇒ Boolean
deprecated
Deprecated.
Use Platform.jruby? instead.
-
#jruby_19? ⇒ Boolean
deprecated
Deprecated.
Use Platform.jruby_19? instead.
-
#linux? ⇒ Boolean
deprecated
Deprecated.
Use Platform.mac_osx? instead.
-
#mac_osx? ⇒ Boolean
deprecated
Deprecated.
Use Platform.mac_osx? instead.
-
#mri? ⇒ Boolean
deprecated
Deprecated.
Use Platform.mri? instead.
-
#mri_19? ⇒ Boolean
deprecated
Deprecated.
Use Platform.mri_19? instead.
-
#mri_2? ⇒ Boolean
deprecated
Deprecated.
Use Platform.mri_2? instead.
- #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
-
#windows? ⇒ Boolean
deprecated
Deprecated.
Use Platform.windows? instead.
-
#windows_ansi? ⇒ Boolean
deprecated
Deprecated.
Use Platform.windows_ansi? instead.
Instance Method Details
#colorize_code(code) ⇒ Object
175 176 177 |
# File 'lib/pry/helpers/base_helpers.rb', line 175 def colorize_code(code) CodeRay.scan(code, :ruby).term end |
#command_dependencies_met?(options) ⇒ Boolean
163 164 165 166 167 168 169 |
# File 'lib/pry/helpers/base_helpers.rb', line 163 def command_dependencies_met?() return true if ![:requires_gem] Array([:requires_gem]).all? do |g| Pry::Rubygem.installed?(g) end end |
#find_command(name, set = Pry::Commands) ⇒ Object
152 153 154 155 156 157 |
# File 'lib/pry/helpers/base_helpers.rb', line 152 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
184 185 186 187 |
# File 'lib/pry/helpers/base_helpers.rb', line 184 def heading(text) text = "#{text}\n--" "\e[1m#{text}\e[0m" end |
#highlight(string, regexp, highlight_color = :bright_yellow) ⇒ Object
179 180 181 |
# File 'lib/pry/helpers/base_helpers.rb', line 179 def highlight(string, regexp, highlight_color = :bright_yellow) string.gsub(regexp) { |match| "<#{highlight_color}>#{match}</#{highlight_color}>" } end |
#jruby? ⇒ Boolean
Use Platform.jruby? instead.
65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/pry/helpers/base_helpers.rb', line 65 def jruby? unless @jruby_warn loc = caller_locations(1..1).first warn( "#{loc.path}:#{loc.lineno}: warning: method BaseHelpers##{__method__} " \ "is deprecated. Use Pry:Helpers::Platform.#{__method__} instead" ) @jruby_warn = true end Pry::Helpers::Platform.jruby? end |
#jruby_19? ⇒ Boolean
Use Platform.jruby_19? instead.
79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/pry/helpers/base_helpers.rb', line 79 def jruby_19? unless @jruby19_warn loc = caller_locations(1..1).first warn( "#{loc.path}:#{loc.lineno}: warning: method BaseHelpers##{__method__} " \ "is deprecated. Use Pry:Helpers::Platform.#{__method__} instead" ) @jruby19_warn = true end Pry::Helpers::Platform.jruby_19? end |
#linux? ⇒ Boolean
Use Platform.mac_osx? instead.
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/pry/helpers/base_helpers.rb', line 23 def linux? unless @linux_warn loc = caller_locations(1..1).first warn( "#{loc.path}:#{loc.lineno}: warning: method BaseHelpers##{__method__} " \ "is deprecated. Use Pry:Helpers::Platform.#{__method__} instead" ) @linux_warn = true end Pry::Helpers::Platform.linux? end |
#mac_osx? ⇒ Boolean
Use Platform.mac_osx? instead.
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/pry/helpers/base_helpers.rb', line 9 def mac_osx? unless @mac_osx_warn loc = caller_locations(1..1).first warn( "#{loc.path}:#{loc.lineno}: warning: method BaseHelpers##{__method__} " \ "is deprecated. Use Pry:Helpers::Platform.#{__method__} instead" ) @mac_osx_warn = true end Pry::Helpers::Platform.mac_osx? end |
#mri? ⇒ Boolean
Use Platform.mri? instead.
93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/pry/helpers/base_helpers.rb', line 93 def mri? unless @mri_warn loc = caller_locations(1..1).first warn( "#{loc.path}:#{loc.lineno}: warning: method BaseHelpers##{__method__} " \ "is deprecated. Use Pry:Helpers::Platform.#{__method__} instead" ) @mri_warn = true end Pry::Helpers::Platform.mri? end |
#mri_19? ⇒ Boolean
Use Platform.mri_19? instead.
107 108 109 110 111 112 113 114 115 116 117 |
# File 'lib/pry/helpers/base_helpers.rb', line 107 def mri_19? unless @mri19_warn loc = caller_locations(1..1).first warn( "#{loc.path}:#{loc.lineno}: warning: method BaseHelpers##{__method__} " \ "is deprecated. Use Pry:Helpers::Platform.#{__method__} instead" ) @mri19_warn = true end Pry::Helpers::Platform.mri_19? end |
#mri_2? ⇒ Boolean
Use Platform.mri_2? instead.
121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/pry/helpers/base_helpers.rb', line 121 def mri_2? unless @mri2_warn loc = caller_locations(1..1).first warn( "#{loc.path}:#{loc.lineno}: warning: method BaseHelpers##{__method__} " \ "is deprecated. Use Pry:Helpers::Platform.#{__method__} instead" ) @mri2_warn = true end Pry::Helpers::Platform.mri_2? end |
#not_a_real_file?(file) ⇒ Boolean
159 160 161 |
# File 'lib/pry/helpers/base_helpers.rb', line 159 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.
147 148 149 |
# File 'lib/pry/helpers/base_helpers.rb', line 147 def safe_send(obj, method, *args, &block) (Module === obj ? Module : Object).instance_method(method).bind(obj).call(*args, &block) end |
#silence_warnings ⇒ Object
133 134 135 136 137 138 139 140 141 |
# File 'lib/pry/helpers/base_helpers.rb', line 133 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.
192 193 194 195 196 197 198 |
# File 'lib/pry/helpers/base_helpers.rb', line 192 def stagger_output(text, _out = nil) if defined?(_pry_) && _pry_ _pry_.pager.page text else Pry.new.pager.page text end end |
#use_ansi_codes? ⇒ Boolean
171 172 173 |
# File 'lib/pry/helpers/base_helpers.rb', line 171 def use_ansi_codes? Pry::Helpers::Platform.windows_ansi? || ENV['TERM'] && ENV['TERM'] != "dumb" end |
#windows? ⇒ Boolean
Use Platform.windows? instead.
37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/pry/helpers/base_helpers.rb', line 37 def windows? unless @windows_warn loc = caller_locations(1..1).first warn( "#{loc.path}:#{loc.lineno}: warning: method BaseHelpers##{__method__} " \ "is deprecated. Use Pry:Helpers::Platform.#{__method__} instead" ) @windows_warn = true end Pry::Helpers::Platform.windows? end |
#windows_ansi? ⇒ Boolean
Use Platform.windows_ansi? instead.
51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/pry/helpers/base_helpers.rb', line 51 def windows_ansi? unless @windows_ansi_warn loc = caller_locations(1..1).first warn( "#{loc.path}:#{loc.lineno}: warning: method BaseHelpers##{__method__} " \ "is deprecated. Use Pry:Helpers::Platform.#{__method__} instead" ) @windows_ansi_warn = true end Pry::Helpers::Platform.windows_ansi? end |