Module: IRB::StartupMessage
| Relationships & Source Files | |
| Defined in: | lib/irb/startup_message.rb |
Constant Summary
-
TIPS =
# File 'lib/irb/startup_message.rb', line 8[ 'Type "help" for commands, "help <cmd>" for details', '"show_doc method" to view documentation', '"ls [object]" to see methods and properties', '"ls [object] -g pattern" to filter methods and properties', '"edit method" to open the method\'s source in editor', '"cd object" to navigate into an object', '"show_source method" to view source code', '"copy expr" to copy the output to clipboard', '"debug" to start integration with the "debug" gem', '"history -g pattern" to search history', ].freeze
Class Method Summary
- .display
- .build_info_lines private
- .colorize_tip(tip) private
- .combine_logo_and_info(logo_lines, info_lines) private
- .load_logo private
- .short_pwd private
Class Method Details
.build_info_lines (private)
[ GitHub ].colorize_tip(tip) (private)
[ GitHub ].combine_logo_and_info(logo_lines, info_lines) (private)
[ GitHub ]# File 'lib/irb/startup_message.rb', line 62
def combine_logo_and_info(logo_lines, info_lines) max_lines = [logo_lines.size, info_lines.size].max lines = max_lines.times.map do |i| logo_part = logo_lines[i] || "" info_part = info_lines[i] || "" colored_logo = Color.colorize(logo_part, [:RED, :BOLD]) "#{colored_logo} #{info_part}" end lines.join("\n") end
.display
[ GitHub ]# File 'lib/irb/startup_message.rb', line 22
def display logo_lines = load_logo info_lines = build_info_lines output = if logo_lines combine_logo_and_info(logo_lines, info_lines) else info_lines.join("\n") end # Add a blank line to not immediately touch warning messages puts puts output puts end
.load_logo (private)
[ GitHub ]# File 'lib/irb/startup_message.rb', line 40
def load_logo encoding = STDOUT.external_encoding || Encoding.default_external return nil unless encoding == Encoding::UTF_8 logo = IRB.send(:easter_egg_logo, :unicode_small) return nil unless logo logo.chomp.lines.map(&:chomp) end
.short_pwd (private)
[ GitHub ]# File 'lib/irb/startup_message.rb', line 73
def short_pwd dir = Dir.pwd home = ENV['HOME'] if home && (dir == home || dir.start_with?("#{home}/")) dir = "~#{dir[home.size..]}" end dir end