Sha256: e6849c9007eab4ab3cc62eb5c6f37cec63a276a5065fadac1ed84712c37bfd99
Contents?: true
Size: 1.63 KB
Versions: 273
Compression:
Stored size: 1.63 KB
Contents
require 'etc' module Sample class File attr_accessor :name, :ctime, :mtime, :size, :owner, :group, :permissions def initialize(filename) @name = ::File.basename(filename) stat = ::File.stat(filename) @ctime = stat.ctime @mtime = stat.mtime @size = stat.size @owner = Etc.getpwuid(stat.uid).name @group = Etc.getgrgid(stat.gid).name if false @permissions = { 'user' => { 'read' => (0 != (stat.mode & 0x0100)), 'write' => (0 != (stat.mode & 0x0080)), 'execute' => (0 != (stat.mode & 0x0040))}, 'group' => { 'read' => (0 != (stat.mode & 0x0020)), 'write' => (0 != (stat.mode & 0x0010)), 'execute' => (0 != (stat.mode & 0x0008))}, 'other' => { 'read' => (0 != (stat.mode & 0x0004)), 'write' => (0 != (stat.mode & 0x0002)), 'execute' => (0 != (stat.mode & 0x0001))} } else @permissions = { 'user' => [(0 != (stat.mode & 0x0100)) ? 'r' : '-', (0 != (stat.mode & 0x0080)) ? 'w' : '-', (0 != (stat.mode & 0x0040)) ? 'x' : '-'].join(''), 'group' => [(0 != (stat.mode & 0x0020)) ? 'r' : '-', (0 != (stat.mode & 0x0010)) ? 'w' : '-', (0 != (stat.mode & 0x0008)) ? 'x' : '-'].join(''), 'other' => [(0 != (stat.mode & 0x0004)) ? 'r' : '-', (0 != (stat.mode & 0x0002)) ? 'w' : '-', (0 != (stat.mode & 0x0001)) ? 'x' : '-'].join('') } end end end # File end # Sample
Version data entries
273 entries across 273 versions & 4 rubygems