class Blog
Constants
- FILE
- NO_EXCEPTIONS
Attributes
count_and_files[R]
count_of_exceptions_in_folder[R]
exceptions[R]
specified_file[R]
unique_exception_types[R]
unique_files[R]
Public Class Methods
exceptions?()
click to toggle source
# File lib/Blog.rb, line 90 def self.exceptions? unless File.exist?(FILE) puts NO_EXCEPTIONS else return true end end
generate_and_display_blog()
click to toggle source
# File lib/Blog.rb, line 97 def self.generate_and_display_blog blog = self.new(ARGV[0]) blog.display_blog end
new(specified_file = nil)
click to toggle source
# File lib/Blog.rb, line 14 def initialize(specified_file = nil) @exceptions = YAML.load_stream(File.read(FILE)) @unique_files = exceptions.map { |exc| exc.file }.uniq @count_and_files = "#{exceptions.length} in #{unique_files.join(' ')}" @unique_exception_types = exceptions.map { |exc| exc.type }.uniq @specified_file = specified_file end
Public Instance Methods
count(type)
click to toggle source
# File lib/Blog.rb, line 22 def count(type) exceptions.select { |exc| exc.type == type }.length end
display_blog()
click to toggle source
# File lib/Blog.rb, line 72 def display_blog if legit_file?(specified_file) self.display_exceptions_for_file(specified_file) elsif illegit_file?(specified_file) self.display_file_does_not_exist(specified_file) else self.display_summary end end
display_exceptions_for_file(filename)
click to toggle source
# File lib/Blog.rb, line 49 def display_exceptions_for_file(filename) file_exceptions = read_exceptions_for_file(filename) file_exceptions.each do |exc| display_file_header(filename) exc.display end display_file_trailer end
display_file_does_not_exist(file)
click to toggle source
# File lib/Blog.rb, line 68 def display_file_does_not_exist(file) puts "Sorry, #{file} is not a file in this folder." end
display_file_header(filename)
click to toggle source
# File lib/Blog.rb, line 58 def display_file_header(filename) puts "\n" puts "File: #{filename}" puts '-' * 15 end
display_file_trailer()
click to toggle source
# File lib/Blog.rb, line 64 def display_file_trailer puts '-' * 15 end
display_summary()
click to toggle source
# File lib/Blog.rb, line 40 def display_summary self.header self.folder_exceptions end
folder_exceptions()
click to toggle source
# File lib/Blog.rb, line 31 def folder_exceptions unique_exception_types.each do |type| puts "\n" puts "Exception Class: #{type}" puts "Total: #{self.count(type)}" puts "-" * 15 end end
header()
click to toggle source
# File lib/Blog.rb, line 26 def header system('clear') puts "Total Exceptions: #{count_and_files}" end
illegit_file?(file)
click to toggle source
# File lib/Blog.rb, line 86 def illegit_file?(file) file && !File.exist?(file) end
legit_file?(file)
click to toggle source
# File lib/Blog.rb, line 82 def legit_file?(file) file && File.exist?(file) end
read_exceptions_for_file(filename)
click to toggle source
# File lib/Blog.rb, line 45 def read_exceptions_for_file(filename) exceptions.select { |exc| exc.file == filename } end