Sha256: 34484ecda4574e7a82256d85add8af4a3a3ec4532f845ccd7e696eb9c17d1155
Contents?: true
Size: 1.15 KB
Versions: 2
Compression:
Stored size: 1.15 KB
Contents
require_relative "dsl/ro_file" module RoCommands class Info < Base include DSL::RoFile class RoFile def initialize(path, size) @path = path @size = size end def path @path ||= nil end def size @size ||= nil end def to_s "size:#{(size/1024)}kb, path:#{path}" end end desc 'file_size', '' def list(path, recursive=false) if recursive find(path).each do |f| files << RoFile.new(f, size(f)) end puts files.sort_by(&:size) else Dir[File.join(path, "**")].each do |f| if dir?(f) s = find(f).inject(0) do |total_size, file| total_size += size(file).to_i end rf = RoFile.new(f, s) else rf = RoFile.new(f, size(f)) end files << rf end puts files.compact.sort_by(&:size) end end private def files @files.flatten! if defined?(@files) and @files.respond_to?(:flatten!) @files.uniq! if defined?(@files) and @files.respond_to?(:uniq!) @files ||= [] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ro_commands-0.0.3 | lib/ro_commands/info.rb |
ro_commands-0.0.2 | lib/ro_commands/info.rb |