class Memethod

Public Class Methods

new(extension = '.rb') click to toggle source
# File lib/memethod.rb, line 3
def initialize(extension = '.rb')
  @extension = extension
  extension_file
  count_method
end

Public Instance Methods

count_method() click to toggle source
# File lib/memethod.rb, line 14
def count_method
  num_files, line_count, method_count = 0, 0, 0
  extension_file.each do |f|
    next if f.index('vendor')
    next if FileTest.directory?(f)
    num_files += 1
    i = 0
    lines = []
    File.new(f).each_line do |line|
      if line.strip[0..2] == 'def'
        method_count += 1
        next
      end
      i += 1
    end
    line_count += i
  end
  display_stat(num_files, line_count, method_count)
end
display_stat(num_files, line_count, method_count) click to toggle source
# File lib/memethod.rb, line 34
def display_stat(num_files, line_count, method_count)
  puts "\n------------------------------\n#{num_files.to_s} files with #{@extension} extension.\n #{method_count} methods\n#{line_count.to_f} lines of code."
end
extension_file() click to toggle source
# File lib/memethod.rb, line 9
def extension_file
    ext = File.join("**", "*.rb")
    files = Dir.glob(ext)
end