Module: Tapjoy::LDAP::Group
- Defined in:
- lib/tapjoy/ldap/group.rb,
lib/tapjoy/ldap/group/create.rb,
lib/tapjoy/ldap/group/delete.rb,
lib/tapjoy/ldap/group/add_user.rb,
lib/tapjoy/ldap/group/remove_user.rb
Overview
Entry point for all group subcommands
Defined Under Namespace
Classes: AddUser, Create, Delete, RemoveUser
Constant Summary collapse
- SUB_COMMANDS =
%w(create delete add_user remove_user)
Class Method Summary collapse
- .add_user ⇒ Object
- .commands ⇒ Object
-
.create ⇒ Object
Create Group.
-
.delete ⇒ Object
Delete group.
-
.lookup_id(groupname) ⇒ Object
Lookup GID for the given group.
- .remove_user ⇒ Object
Class Method Details
.add_user ⇒ Object
65 66 67 68 |
# File 'lib/tapjoy/ldap/group.rb', line 65 def add_user group = Tapjoy::LDAP::Group::AddUser.new group.add_user end |
.commands ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/tapjoy/ldap/group.rb', line 14 def commands Trollop:: do usage 'group [SUB_COMMAND] [options]' synopsis "\nThis object is used for group management\nAvailable subcommands are: #{SUB_COMMANDS}" stop_on SUB_COMMANDS end cmd = ARGV.shift case cmd when 'create', 'delete', 'add_user', 'remove_user' send(cmd) # call method with respective name else raise Tapjoy::LDAP::InvalidArgument end end |
.create ⇒ Object
Create Group
54 55 56 57 |
# File 'lib/tapjoy/ldap/group.rb', line 54 def create group = Tapjoy::LDAP::Group::Create.new group.create end |
.delete ⇒ Object
Delete group
60 61 62 63 |
# File 'lib/tapjoy/ldap/group.rb', line 60 def delete group = Tapjoy::LDAP::Group::Delete.new group.delete end |
.lookup_id(groupname) ⇒ Object
Lookup GID for the given group
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/tapjoy/ldap/group.rb', line 33 def lookup_id(groupname) gidnumber = [] oc_filter = Net::LDAP::Filter.eq('objectclass', 'posixGroup') cn_filter = Net::LDAP::Filter.eq('cn', groupname) filter = Net::LDAP::Filter.join(oc_filter, cn_filter) results = Tapjoy::LDAP::client.search(['gidNumber'], filter) # Make sure we return one, and only one group if results.size < 1 abort('Group not found') elsif results.size > 1 abort('Multiple groups found. Please narrow your search.') end results.each { |result| gidnumber = result.gidnumber } return gidnumber[0] end |
.remove_user ⇒ Object
70 71 72 73 |
# File 'lib/tapjoy/ldap/group.rb', line 70 def remove_user group = Tapjoy::LDAP::Group::RemoveUser.new group.remove_user end |