class Wright::Util::FileOwner
Helper class to support user:group
notation in file owner strings.
Attributes
group[RW]
@return [String, Integer] the group's name or gid
user[RW]
@return [String, Integer] the user's name or uid
Public Class Methods
new(user_and_group = nil, group = nil)
click to toggle source
# File lib/wright/util/file_owner.rb, line 12 def initialize(user_and_group = nil, group = nil) self.user_and_group = user_and_group self.group = group if group end
Public Instance Methods
user_and_group=(user_and_group)
click to toggle source
Sets user and group simultaneously.
@param user_and_group [String, Integer] a user in user:group
notation or a uid
@example
owner = FileOwner.new owner.user_and_group = 'user:group' owner.user # => "user" owner.group # => "group" owner.user_and_group = 'newuser' owner.user # => "newuser" owner.group # => "group" owner.user_and_group = 42 owner.user # => 42
@return [void] @raise [ArgumentError] if the owner string contains more than
one colon
# File lib/wright/util/file_owner.rb, line 44 def user_and_group=(user_and_group) user, group = split_user_and_group(user_and_group) self.user = user self.group = group if group end
Private Instance Methods
split_user_and_group(user_and_group)
click to toggle source
# File lib/wright/util/file_owner.rb, line 52 def split_user_and_group(user_and_group) user = user_and_group group = nil return [user, group] unless user_and_group.is_a?(String) if user_and_group.count(':') > 1 fail ArgumentError, "Invalid owner: '#{user_and_group}'" end user, group = user_and_group.split(':') [user, group] end