Class: PrettyListing
- Inherits:
-
Object
- Object
- PrettyListing
- Defined in:
- cmd/list.rb
Instance Method Summary collapse
-
#initialize(path) ⇒ PrettyListing
constructor
A new instance of PrettyListing.
-
#print_dir(root) ⇒ Object
-
#print_remaining_files(files, root, other = "") ⇒ Object
Constructor Details
#initialize(path) ⇒ PrettyListing
Returns a new instance of PrettyListing.
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 |
# File 'cmd/list.rb', line 177 def initialize(path) Pathname.new(path).children.sort_by { |p| p.to_s.downcase }.each do |pn| case pn.basename.to_s when "bin", "sbin" pn.find { |pnn| puts pnn unless pnn.directory? } when "lib" print_dir pn do |pnn| # dylibs have multiple symlinks and we don't care about them (pnn.extname == ".dylib" || pnn.extname == ".pc") && !pnn.symlink? end when ".brew" next # Ignore .brew else if pn.directory? if pn.symlink? puts "#{pn} -> #{pn.readlink}" else print_dir pn end elsif Metafiles.list?(pn.basename.to_s) puts pn end end end end |
Instance Method Details
#print_dir(root) ⇒ Object
203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 |
# File 'cmd/list.rb', line 203 def print_dir(root) dirs = [] remaining_root_files = [] other = "" root.children.sort.each do |pn| if pn.directory? dirs << pn elsif block_given? && yield(pn) puts pn other = "other " else remaining_root_files << pn unless pn.basename.to_s == ".DS_Store" end end dirs.each do |d| files = [] d.find { |pn| files << pn unless pn.directory? } print_remaining_files files, d end print_remaining_files remaining_root_files, root, other end |