class PutsDebuggerer::SourceFile
Public Class Methods
new(file_path)
click to toggle source
# File lib/puts_debuggerer/source_file.rb, line 3 def initialize(file_path) @file = File.new(file_path) if file_path end
Public Instance Methods
source(source_line_count, source_line_number)
click to toggle source
# File lib/puts_debuggerer/source_file.rb, line 7 def source(source_line_count, source_line_number) @source = '' return @source if RUBY_ENGINE == 'opal' # For Opal Ruby compatibility, skip source lines if file does not respond to readline (as in Opal) lines = source_lines(source_line_count, source_line_number) @source = lines.join(' '*5) if @file.respond_to?(:readline) @source end
source_lines(source_line_count, source_line_number)
click to toggle source
# File lib/puts_debuggerer/source_file.rb, line 16 def source_lines(source_line_count, source_line_number) lines = [] begin while @file.lineno < source_line_number + source_line_count file_line_number = @file.lineno + 1 file_line = @file.readline if file_line_number >= source_line_number && file_line_number < source_line_number + source_line_count lines << file_line end end rescue EOFError # Done end lines end