Class: OsCtld::Commands::Group::Delete
- Defined in:
- lib/osctld/commands/group/delete.rb
Instance Attribute Summary
Attributes inherited from Base
#client, #client_handler, #id, #opts
Instance Method Summary collapse
Methods inherited from Logged
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(grp) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/osctld/commands/group/delete.rb', line 15 def execute(grp) manipulate(grp) do grp.exclusively do # Double-check user's containers, for only within the lock # can we be sure error!('group is used by containers') if grp.has_containers? error!('group has children') if grp.children.any? File.unlink(grp.config_path) Dir.rmdir(grp.config_dir) end DB::Groups.remove(grp) end ok end |