class CodeCount

Attributes

directories[RW]
entries[RW]
files[RW]
target_dir[R]

Public Class Methods

collect_assets() click to toggle source

This method is just hideous but… hackathon = mvp

# File lib/count/code_count.rb, line 25
def self.collect_assets
  @entries = Dir.entries @target_dir 
  @entries.delete_if {|dir| uninteresting_directories.include? dir }
  @entries.each do |top_level_dir|
    files_and_folders = Dir.glob("#{@target_dir}/#{top_level_dir}/**/*") 
    assets = files_and_folders.each do |file_or_fold| 
      if File.directory?(file_or_fold)
        @directories << file_or_fold
      elsif File.file?(file_or_fold)
        @files << file_or_fold
      end
    end
  end
end
create_count() click to toggle source
# File lib/count/code_count.rb, line 75
def self.create_count
  collect_assets
  print_out_info
end
kick_off() click to toggle source
# File lib/count/code_count.rb, line 6
def self.kick_off
  @directories = []
  @files = []
  # We need to get the line of code_count, directory count, file count, and
  # ...names from the app dir
  @target_dir = "#{$path}/app"
  if Dir.exist?(@target_dir)
    create_count
  else
    $output_file.puts("We weren't able to find the app/ directory looking here: #{@target_dir}")
  end
end
loc_in_dir(dir) click to toggle source
# File lib/count/code_count.rb, line 70
def self.loc_in_dir(dir)
   %x{find . #{@target_dir}/#{dir} |xargs wc -l }
 end
loc_in_file(file) click to toggle source
# File lib/count/code_count.rb, line 66
def self.loc_in_file(file)
  %x{wc -l #{file} }
end
print_out_info() click to toggle source
uninteresting_directories() click to toggle source
# File lib/count/code_count.rb, line 19
def self.uninteresting_directories
  %w{ . .. assets }
end