Class: OsCtld::Commands::User::Register
- Defined in:
- lib/osctld/commands/user/register.rb
Instance Attribute Summary
Attributes inherited from Base
#client, #client_handler, #id, #opts
Instance Method Summary collapse
- #execute ⇒ Object
- #register_user(u) ⇒ Object protected
Methods inherited from Base
#base_execute, #call_cmd, #call_cmd!, #error, #error!, handle, #handled, #indirect?, #initialize, #manipulate, #manipulation_holder, #ok, #progress, #request_stop, run, run!
Constructor Details
This class inherits a constructor from OsCtld::Commands::Base
Instance Method Details
#execute ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/osctld/commands/user/register.rb', line 7 def execute if opts[:all] DB::Users.get do |users| users.each do |u| next if opts[:pool] && u.pool.name != opts[:pool] next if u.registered? begin register_user(u) rescue ResourceLocked => e progress("User #{u.ident} is locked, skipping") end end end else DB::Users.sync do u = DB::Users.find(opts[:name], opts[:pool]) return error('user not found') unless u return error('already registered') if u.registered? register_user(u) end end ok end |
#register_user(u) ⇒ Object (protected)
37 38 39 40 41 42 43 |
# File 'lib/osctld/commands/user/register.rb', line 37 def register_user(u) manipulate(u) do progress("Registering user #{u.ident}") SystemUsers.add(u.sysusername, u.ugid, u.homedir) u.registered = true end end |