Class: IRB::IRB
| Relationships & Source Files | |
| Inherits: | Object |
| Defined in: | lib/irb/init.rb |
Class Method Summary
-
.generate_current_dir_irbrc_files
private
possible irbrc files in current directory.
- .prepare_irbrc_name_generators private
-
.rc_file_generators
private
enumerate possible rc-file base name generators.
- .set_encoding(extern, intern = nil, override: true) private
-
.print_usage
Internal use only
Outputs the irb help message, see IRB@Command-Line+Options.
Class Method Details
.generate_current_dir_irbrc_files (private)
possible irbrc files in current directory
# File 'lib/irb/init.rb', line 519
def generate_current_dir_irbrc_files current_dir = Dir.pwd %w[.irbrc irbrc _irbrc $irbrc].map { |file| "#{current_dir}/#{file}" } end
.prepare_irbrc_name_generators (private)
[ GitHub ]# File 'lib/irb/init.rb', line 481
def prepare_irbrc_name_generators return if @existing_rc_name_generators @existing_rc_name_generators = [] @irbrc_files = [] rc_file_generators do |rcgen| irbrc = rcgen.call(IRBRC_EXT) if File.exist?(irbrc) @irbrc_files << irbrc @existing_rc_name_generators << rcgen end end generate_current_dir_irbrc_files.each do |irbrc| @irbrc_files << irbrc if File.exist?(irbrc) end @irbrc_files.uniq! end
.print_usage
This method is for internal use only.
Outputs the irb help message, see IRB@Command-Line+Options.
# File 'lib/irb/help.rb', line 9
def IRB.print_usage # :nodoc: lc = IRB.conf[:LC_MESSAGES] path = lc.find("irb/help-message") space_line = false File.open(path){|f| f.each_line do |l| if /^\s*$/ =~ l lc.puts l unless space_line space_line = true next end space_line = false l.sub!(/#.*$/, "") next if /^\s*$/ =~ l lc.puts l end } end
.rc_file_generators (private)
enumerate possible rc-file base name generators
# File 'lib/irb/init.rb', line 500
def rc_file_generators if irbrc = ENV["IRBRC"] yield proc{|rc| rc == "rc" ? irbrc : irbrc+rc} end if xdg_config_home = ENV["XDG_CONFIG_HOME"] irb_home = File.join(xdg_config_home, "irb") if File.directory?(irb_home) yield proc{|rc| irb_home + "/irb#{rc}"} end end if home = ENV["HOME"] yield proc{|rc| home+"/.irb#{rc}"} if xdg_config_home.nil? || xdg_config_home.empty? yield proc{|rc| home+"/.config/irb/irb#{rc}"} end end end
.set_encoding(extern, intern = nil, override: true) (private)
[ GitHub ]# File 'lib/irb/init.rb', line 524
def set_encoding(extern, intern = nil, override: true) verbose, $VERBOSE = $VERBOSE, nil Encoding.default_external = extern unless extern.nil? || extern.empty? Encoding.default_internal = intern unless intern.nil? || intern.empty? [$stdin, $stdout, $stderr].each do |io| io.set_encoding(extern, intern) end if override @CONF[:LC_MESSAGES].instance_variable_set(:@override_encoding, extern) else @CONF[:LC_MESSAGES].instance_variable_set(:@encoding, extern) end ensure $VERBOSE = verbose end