Sha256: be50a68fa412563d9228f4cf80173c5aa43f3d3fcdc5ead67bc1e6b3ff5927dc
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
module Mmmm class FileLineMethod attr_reader :file, :line, :method def initialize src_loc, m @file = src_loc[0] @line = src_loc[1] @method = m end end class << self def [](obj, method = nil) return src_loc obj, method if method all_src_loc obj nil end private def src_loc obj, method file, line = obj.method(method).source_location puts [cyan(file), line].join ' ' end def all_src_loc obj file = nil file_line_method_arr(obj).sort_by do |flm| [flm.file, flm.line] end.each do |flm| unless file == flm.file file = flm.file puts cyan file end puts [format('%5d', flm.line), flm.method].join ' ' end end def file_line_method_arr obj obj.methods.reduce([]) do |rs, m| file_line = obj.method(m).source_location if file_line rs << FileLineMethod.new(file_line, m) end rs end end def cyan str "\e[36m#{str}\e[0m" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mmmm-0.1.0 | lib/mmmm/src_loc.rb |