module UniverseCompiler::Entity::AutoNamed
Attributes
auto_named_entity_type_seed[R]
Public Instance Methods
auto_named_entity_type(seed = nil)
click to toggle source
# File lib/universe_compiler/entity/auto_named.rb, line 9 def auto_named_entity_type(seed = nil) @auto_named_entity_type = true @auto_named_entity_type_seed = if seed.nil? entity_type.to_s else seed end @entity_type_counter = 0 end
auto_named_entity_type?()
click to toggle source
# File lib/universe_compiler/entity/auto_named.rb, line 19 def auto_named_entity_type? @auto_named_entity_type end
get_unique_name(universe)
click to toggle source
# File lib/universe_compiler/entity/auto_named.rb, line 23 def get_unique_name(universe) return SecureRandom.uuid if universe.nil? uniq_name = nil loop do @entity_type_counter += 1 raise UniverseCompiler::Error, "Too many '#{entity_type}' (> 999999) in universe '#{universe.name}'" if @entity_type_counter >= 1000000 uniq_name = '%s_%06u' % [auto_named_entity_type_seed, @entity_type_counter] break if universe.get_entity(entity_type, uniq_name).nil? end uniq_name end