Class: OsCtld::Commands::IdRange::Create
- Defined in:
- lib/osctld/commands/id_range/create.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(pool) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/osctld/commands/id_range/create.rb', line 22 def execute(pool) if opts[:start_id] < 65_536 error!('start_id should be greater than 65535') elsif opts[:block_size] < 65_536 error!('block_size should be greater than 65535') elsif opts[:block_count] < 1 error!('block_count should be greater than 1') end DB::IdRanges.sync do if DB::IdRanges.find(opts[:name], pool) error!('id range already exists') end range = IdRange.new(pool, opts[:name], load: false) range.configure(opts[:start_id], opts[:block_size], opts[:block_count]) DB::IdRanges.add(range) ok end end |