lib/ruic/application.rb in RUIC-0.6.0 vs lib/ruic/application.rb in RUIC-0.6.1
- old
+ new
@@ -58,20 +58,42 @@
end
# Files in the application directory not used by the application.
#
# @return [Array<String>] absolute paths of files in the directory not used by the application.
- def unused_files
- (directory_files - referenced_files).sort
+ def unused_files( hierarchy=false )
+ unused = (directory_files - referenced_files).sort
+ if hierarchy
+ root = File.dirname(file)
+ UIC.tree_hierarchy(root) do |dir|
+ File.directory?(dir) ? Dir.chdir(dir){ Dir['*'].map{ |f| File.expand_path(f) } } : []
+ end.map do |prefix,file|
+ if file
+ all = unused.select{ |path| path[/^#{file}/] }
+ unless all.empty?
+ size = NiceBytes.nice_bytes(all.map{ |f| File.size(f) }.inject(:+))
+ partial = file.sub(/^#{root}\//o,'')
+ if File.directory?(file)
+ "%s %s (%d files, %s)" % [prefix,partial,all.length,size]
+ else
+ "%s %s (%s)" % [prefix,partial,size]
+ end
+ end
+ else
+ prefix
+ end
+ end.compact.join("\n")
+ else
+ unused
+ end
end
# Files referenced by the application but not present in the directory.
#
# @return [Array<String>] absolute paths of files referenced but gone.
def missing_files
(referenced_files - directory_files).sort
end
-
# @return [Array<String>] absolute paths of files referenced by the application.
def referenced_files
# TODO: state machines can reference external scripts
# TODO: behaviors can reference external scripts