Module: Pry::Helpers::BaseHelpers

Overview

rubocop:disable Metrics/ModuleLength

Instance Method Summary collapse

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

Returns:

  • (Boolean)


163
164
165
166
167
168
169
# File 'lib/pry/helpers/base_helpers.rb', line 163

def command_dependencies_met?(options)
  return true if !options[:requires_gem]

  Array(options[: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.options[: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

Deprecated.

Use Platform.jruby? instead.

Returns:

  • (Boolean)


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

Deprecated.

Use Platform.jruby_19? instead.

Returns:

  • (Boolean)


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

Deprecated.

Use Platform.mac_osx? instead.

Returns:

  • (Boolean)


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

Deprecated.

Use Platform.mac_osx? instead.

Returns:

  • (Boolean)


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

Deprecated.

Use Platform.mri? instead.

Returns:

  • (Boolean)


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

Deprecated.

Use Platform.mri_19? instead.

Returns:

  • (Boolean)


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

Deprecated.

Use Platform.mri_2? instead.

Returns:

  • (Boolean)


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

Returns:

  • (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_warningsObject



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

Returns:

  • (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

Deprecated.

Use Platform.windows? instead.

Returns:

  • (Boolean)


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

Deprecated.

Use Platform.windows_ansi? instead.

Returns:

  • (Boolean)


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