module KickinRistretto
require 'prawn-table'
Constants
- ROOT_PATH
- VERSION
Public Instance Methods
clean_non_referenced_images(image_directory = 'app/assets/images')
click to toggle source
Search through all images in the project and check to see if they are referenced somewhere If they are not referenced, prompt to delete them
# File lib/kickin_ristretto.rb, line 24 def clean_non_referenced_images(image_directory = 'app/assets/images') images = search_directory(image_directory) legacy_images = collect_none_referenced_images(images) puts "\n Delete Non Referenced Images? [Y/N]" answer = STDIN.gets.chomp if answer == 'Y' delete_files(legacy_images) elsif answer == 'N' puts 'Exiting' return false # Abort the rake task end end
collect_none_referenced_images(images)
click to toggle source
Returns a list of images with paths that are not referenced in the rails project
# File lib/kickin_ristretto.rb, line 70 def collect_none_referenced_images(images) legacy_images = [] images.each do |image| filename = File.basename(image) result = system("grep -r '#{filename}' ./app") legacy_images << image if result == false end legacy_images end
delete_files(image_files)
click to toggle source
Deletes each of the files
# File lib/kickin_ristretto.rb, line 81 def delete_files(image_files) #image_files.each { |image_file| puts "Deleting #{image_file}" } image_files.each {|image_file| File.delete(image_file) if File.exist?(image_file)} end
get_all_images_by_type(files)
click to toggle source
# File lib/kickin_ristretto.rb, line 86 def get_all_images_by_type(files) files.group_by{ |f| File.extname(f) } end
image_audit_report(image_directory = 'app/assets/images')
click to toggle source
Produce a PDF report listing all the images in the website
# File lib/kickin_ristretto.rb, line 39 def image_audit_report(image_directory = 'app/assets/images') images = search_directory(image_directory) #filtered_images = get_all_images_by_type(images)['.gif', '.png', '.jpg', '.jpeg', '.JPG', '.JPEG'] filtered_images = get_all_images_by_type(images).values_at('.png', '.jpg', '.jpeg', '.JPG', '.JPEG').flatten filtered_images = filtered_images.reject { |v| v.nil? } Prawn::Document.generate("image_audit_report.pdf") do text "Image Audit Report" # data = [["File Path", "Image"]] # filtered_images.each do |image| # data += [[image, {image: image, :fit => [400, 400]}]] # end # table(data, :header => true) filtered_images.each do |image| text image image image, fit: [400, 400] end end end
search_directory(image_directory = 'app/assets/images')
click to toggle source
Search the Directories for images Returns a list of files with fullpath
# File lib/kickin_ristretto.rb, line 64 def search_directory(image_directory = 'app/assets/images') image_directory_regex = "#{image_directory}/**/*" Dir[image_directory_regex].select{ |e| File.file? e } end