def pretty_print(q)
members = %w/
archive? atime blksize blocks compressed? ctime dev encrypted? gid
hidden? indexed? ino mode mtime rdev nlink normal? offline? readonly?
reparse_point? size sparse? system? temporary? uid
/
q.object_group(self){
q.breakable
members.each{ |mem|
q.group{
q.text("#{mem}".ljust(15) + "=> ")
if mem == 'mode'
q.text(sprintf("0%o", send(mem.intern)))
else
val = self.send(mem.intern)
if val.nil?
q.text('nil')
else
q.text(val.to_s)
end
end
}
q.comma_breakable unless mem == members.last
}
}
end