Sha256: d28947509bccde96054ed4b10c77e0daa00388044c15ae12dd776abb4935ebb4
Contents?: true
Size: 1.15 KB
Versions: 2
Compression:
Stored size: 1.15 KB
Contents
require 'forwardable' module Aruba module Platforms # File System Status object # # This is a wrapper for File::Stat returning only a subset of information. class FilesystemStatus METHODS = [ :executable?, :ctime, :atime, :mtime, :size ].freeze extend Forwardable private attr_reader :status public def_delegators :@status, *METHODS def initialize(path) @status = File::Stat.new(path) end # Return permissions def mode format("%o", status.mode)[-4,4].gsub(/^0*/, '') end # Return owner def owner status.uid end # Return owning group def group status.gid end # Convert status to hash # # @return [Hash] # A hash of values def to_h { :owner => owner, :group => group, :mode => mode, :executable => executable?, :ctime => ctime, :atime => atime, :mtime => mtime, :size => size } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
aruba-1.0.0.pre.alpha.2 | lib/aruba/platforms/filesystem_status.rb |
aruba-1.0.0.pre.alpha.1 | lib/aruba/platforms/filesystem_status.rb |