Class: MacAdmin::Group
- Inherits:
-
DSLocalRecord
- Object
- Hash
- DSLocalRecord
- MacAdmin::Group
- Defined in:
- lib/macadmin/dslocal/group.rb
Overview
Group
-
creates and manages Mac OS X User Groups
-
params: :name, :realname, :gid
Direct Known Subclasses
Constant Summary collapse
- MIN_GID =
501
Constants inherited from DSLocalRecord
Constants included from Common
Common::MAC_OS_X_PRODUCT_VERSION
Instance Attribute Summary
Attributes inherited from DSLocalRecord
#composite, #data, #file, #node, #real, #record
Instance Method Summary collapse
-
#add_groupmember(member) ⇒ Object
Add a member to the object’s groupmembers array - single param: the name of a group (String).
-
#add_user(member) ⇒ Object
Add a member to the object’s users array - single param: the name of a user (String).
-
#has_groupmember?(member) ⇒ Boolean
Examine the object’s groupmembers array for “member” - single param: the name of a group (String).
-
#has_user?(member) ⇒ Boolean
Examine the object’s users array for “member” - single param: the name of a user (String).
-
#initialize(args) ⇒ Group
constructor
A new instance of Group.
-
#rm_groupmember(member) ⇒ Object
Remove a member from the object’s groupmembers array - single param: the name of a group (String).
-
#rm_user(member) ⇒ Object
Remove a member from the object’s users array - single param: the name of a user (String).
Methods inherited from DSLocalRecord
#[], #[]=, #create, #destroy, #diff, #eql?, #exists?, init_with_file
Methods included from MCX
#has_mcx?, #mcx_delete, #mcx_export, #mcx_import, #pretty_mcx
Methods included from Common
#get_primary_mac_address, #load_plist, #restart_directoryservice
Constructor Details
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class MacAdmin::DSLocalRecord
Instance Method Details
#add_groupmember(member) ⇒ Object
Add a member to the object’s groupmembers array
-
single param: the name of a group (String)
47 48 49 50 51 52 |
# File 'lib/macadmin/dslocal/group.rb', line 47 def add_groupmember(member) group = @group_class.new :name => member, :node => self.node raise unless group.exists? self[:groupmembers] << group.generateduid.first self[:groupmembers].uniq! end |
#add_user(member) ⇒ Object
Add a member to the object’s users array
-
single param: the name of a user (String)
24 25 26 27 28 29 |
# File 'lib/macadmin/dslocal/group.rb', line 24 def add_user(member) user = @member_class.new :name => member, :node => self.node raise unless user.exists? self[:users] << member self[:users].uniq! end |
#has_groupmember?(member) ⇒ Boolean
Examine the object’s groupmembers array for “member”
-
single param: the name of a group (String)
39 40 41 42 43 |
# File 'lib/macadmin/dslocal/group.rb', line 39 def has_groupmember?(member) group = @group_class.new :name => member, :node => self.node return false unless group.exists? self[:groupmembers].member? group.generateduid.first end |
#has_user?(member) ⇒ Boolean
Examine the object’s users array for “member”
-
single param: the name of a user (String)
18 19 20 |
# File 'lib/macadmin/dslocal/group.rb', line 18 def has_user?(member) self[:users].member? member end |
#rm_groupmember(member) ⇒ Object
Remove a member from the object’s groupmembers array
-
single param: the name of a group (String)
56 57 58 59 60 |
# File 'lib/macadmin/dslocal/group.rb', line 56 def rm_groupmember(member) group = @group_class.new :name => member, :node => self.node return nil unless group.exists? self[:groupmembers].delete group.generateduid.first end |
#rm_user(member) ⇒ Object
Remove a member from the object’s users array
-
single param: the name of a user (String)
33 34 35 |
# File 'lib/macadmin/dslocal/group.rb', line 33 def rm_user(member) self[:users].delete member end |